还是ADOQuery1.SQL.Add的问题
按照CSND网友的代码 我写的是
begin
{ if messagedlg('确认添加数据吗?',mtInformation,[mbYES,mbNO],0)<>mrYes then exit;
if (trim(edit1.Text)='') or (trim(edit2.Text)='') then exit ; }
with adoquery1 do
begin
close;
sql.clear;
sql.add('insert into small ([name],[price],[num],[other]) values(:name,:price,:num,:other)');
parameters.paramByName('name').Value:=Edit1.Text;
parameters.paramByName('price').Value:=Edit2.Text;
parameters.paramByName('num').Value:=edit3.Text;
parameters.paramByName('other').Value:=Edit4.Text;
try
ExecSQL;
finally
Close;
end;
end;
end;
我的数据库表名 是 small
表里面的项 分别是 name,price,num,other
数据类型 分别是 varchar,varchar,num,vahrach;
写入的数据 分别在 edit1,edit2,edit3,edit4个编辑框中
为什么我这样写一直出错呢 报错的如图
求解决 小弟新手 感谢各位
[解决办法]
你用的是MySQL ,网上给你的方法(字段名加[])是MS SQL的方法,不知是不是适合MySQL。你把那个表的字段名改下,不要用"name",再去掉[]试试。
[解决办法]
mySQL 使用 ` `("~"键),而不是[]
[解决办法]
为避免冲突,字段名或表名最好改一下
[解决办法]
mysql不能用[xxx],要用`xxx`