使用ADOQuery插入数据库时​​收到语法错误

时间:2018-06-26 15:45:18

标签: ado delphi-2010

检查了所有名称和数据类型,以确保未使用错误的信息/字段。

在代码的顶部声明了一个with Datamodule,但是其余的内容太多了,这是唯一不起作用的部分:

sEncPass :=  objAlgorithms.CipherEn(sPass,13);
//start insert code
qryUserInfo.SQL.Clear;
qryUserInfo.SQL.Add('INSERT INTO LoginInfo(ID,Login,Password)');
qryUserInfo.SQL.Add('VALUES(:ID,:Login,:Password)');
with qryUserInfo.Parameters do
begin
  ParamByName('ID').Value := sID;
  ParamByName('Login').Value := sUsername;
  ParamByName('Password').Value := sEncPass;
end;
qryUserInfo.ExecSQL;
qryUserInfo.SQL.Clear;
qryUserInfo.SQL.Add('INSERT INTO CustomerInfo(ID,Name,Surname,TelNo,Email)');
qryUserInfo.SQL.Add('VALUES (:ID,:Name,:Surname,:TelNo,:Email)');
with qryUserInfo.Parameters do
begin
  ParamByName('ID').Value := sID;
  ParamByName('Name').Value:= sName;
  ParamByName('Surname').Value:= sSurname;
  ParamByName('TelNo').Value:= sCell;
  ParamByName('Email').Value:= sRAddres;
end;
qryUserInfo.ExecSQL;

我在数据库中使用的字段(都是字符串):

image

1 个答案:

答案 0 :(得分:0)

感谢所有提供帮助的人,他们在字段名称中添加了`,从而找到了解决方法:

qryUserInfo.SQL.Add('INSERT INTO CustomerInfo(`ID`,`Name`,`Surname`,`TelNo`,`Email`)');