读书人

还是ADOQuery1.SQL.Add的有关问题

发布时间: 2012-06-06 16:44:11 作者: rapoo

还是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`

读书人网 >.NET

热点推荐