adoquery插入语句的问题,急,请高手帮忙!

engineabcd 2004-10-12 08:23:49
这是代码:
with DataModule3.adoquery3 do
begin
close;
sql.clear;
sql.add('INSERT into enter(date,number,duty,remark) VALUES(:date,:number,:duty,:remark)');
parameters.parambyname('date').value :=FormatDatetime('yyyy-mm-dd',now());

parameters.parambyname('number').value :=strtoint(edit1.text);
parameters.parambyname('duty').value := trim(edit2.text);
parameters.parambyname('remark').value :=trim(edit3.text);
open;
end;
提示的错误是sql有语法错误
我如果把(:date,:number,:duty,:remark)');改成(:date,:number,":duty",":remark")');时他提示说找不到duty的内容,弄了很长时间了,不知道怎么回事
...全文
132 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
crackatom 2004-10-12
  • 打赏
  • 举报
回复
奇怪,我也是;
engineabcd 2004-10-12
  • 打赏
  • 举报
回复
它提示这个插入语句有语法错误
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
不应该吧,不行就把参数全写上,不过有的参数值不允许为空,注意一下,
'INSERT into enter(id,date,number,duty,remark...)...
engineabcd 2004-10-12
  • 打赏
  • 举报
回复
会不会是自动增加的那个主键在做怪啊
engineabcd 2004-10-12
  • 打赏
  • 举报
回复
还是不行,真是郁闷了
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
sql.add('INSERT into enter(date,number,duty,remark) VALUES(:pmdate,:pmnumber,:pmduty,:pmremark)');

不行就换个参数名称
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
哦,现在看到了
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
没有duty那个字段啊,你直接添加字段是不可以的,你得先重新设置一下数据库的结构啊
engineabcd 2004-10-12
  • 打赏
  • 举报
回复
access数据库
id 自动编号
date日期时间
code文本
number数字
remark文本
deal文本
duty文本
engineabcd 2004-10-12
  • 打赏
  • 举报
回复
access数据库
id 自动编号
date日期时间
code文本
number数字
remark文本
deal文本
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
那具体数据库有没有哪个字段呢?
engineabcd 2004-10-12
  • 打赏
  • 举报
回复
改了提示一样:parambyname 'duty'not found
zdq801104 2004-10-12
  • 打赏
  • 举报
回复
楼主老大,OPEN是有返回值的,ExecSQL只是执行操作,没有返回值的
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
你再写写看
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
改成ExecSQL,就可以了
纯冰糖 2004-10-12
  • 打赏
  • 举报
回复
with DataModule3.adoquery3 do
begin
close;
sql.clear;
sql.add('INSERT into enter(date,number,duty,remark) VALUES(:date,:number,:duty,:remark)');
parameters.parambyname('date').value :=FormatDatetime('yyyy-mm-dd',now());

parameters.parambyname('number').value :=strtoint(edit1.text);
parameters.parambyname('duty').value := trim(edit2.text);
parameters.parambyname('remark').value :=trim(edit3.text);
open;//ExecSQL;
end;

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧