帮我看看这个query哪里写错了吗?

chyft 2004-11-06 03:35:19
为什么运行的时候出现找不到参数'project_id'的错误。
with QueryExec do
begin
Close;
SQL.Clear;
SQL.Add('insert into table(project_id,q_set,type,rank)');
SQL.Add(' values(:project_id, :qset, :qtype, :qrank)');
Parameters.paramValues['project_id']:=QueryPro['id'];
Parameters.ParamValues['qset']:=comboboxQset.Text;
Parameters.ParamValues['qtype']:=comboboxQtype.Text;
Parameters.ParamValues['qrank']:=comboboxQrank.Text;
ExecSQL;
end;
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chyft 2004-11-06
  • 打赏
  • 举报
回复
谢谢各位,我发现原因了,是query组件的connection属性没有设置。
prepare不一定要的,delphi会自动执行,变量名和字段重复也没关系的
chengtwn 2004-11-06
  • 打赏
  • 举报
回复
SQL.Add('insert into table(project_id,q_set,type,rank)');
SQL.Add(' values(:project_id, :qset, :qtype, :qrank)');
prepare;//這一句不能少
Parameters.paramValues['project_id']:=QueryPro['id'];
------------------------------------------------------------
SQL.Add(' values(:XXXXX_id, :qset, :qtype, :qrank)')
变量名和字段重复了吧?强烈建议你换了之后再说
zhangzhihui528 2004-11-06
  • 打赏
  • 举报
回复

Parameters.paramValues['project_id']:=QueryPro['id']; 这句中的QueryPro['id']; 是不应该有类型呀
postfxj 2004-11-06
  • 打赏
  • 举报
回复
with QueryExec do
begin
Close;
SQL.Clear;
SQL.Add('insert into table(project_id,q_set,type,rank)');
SQL.Add(' values(:project_id, :qset, :qtype, :qrank)');
prepare;//這一句不能少
Parameters.paramValues['project_id']:=QueryPro['id'];
Parameters.ParamValues['qset']:=comboboxQset.Text;
Parameters.ParamValues['qtype']:=comboboxQtype.Text;
Parameters.ParamValues['qrank']:=comboboxQrank.Text;
ExecSQL;
end;

2,497

社区成员

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

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