delphi sql 参数不足,期望是1的问题,急!

ylp144 2008-04-23 10:04:26
maincd是某个字符串
T_mainnum是数据表

q2.Close;
q2.SQL.Text :='select * from T_mainnum where cardnum= '+ maincd+'';
q2.Prepared;
q2.Open;
if q2.RecordCount=0 then
begin
...
end;
报错!求救!sos!
...全文
94 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿三 2008-04-24
  • 打赏
  • 举报
回复
楼上天天真早
liangpei2008 2008-04-24
  • 打赏
  • 举报
回复

Q1.ParamCheck:=False
liangpei2008 2008-04-24
  • 打赏
  • 举报
回复

q1.Parameters.ParamByName('ldatetime').Value :=formatdatetime('yyyymmdd hh:nn:ss',now());
//这句话有问题~
Delphi把hh:nn:ss中的冒号当参数了
ylp144 2008-04-24
  • 打赏
  • 举报
回复
原来是我的dll调用有问题,牵连到了这个SQL出错,已解决,谢谢各位!
DreamMan81 2008-04-24
  • 打赏
  • 举报
回复
:lcardnum,:lusername,:ldatetime,:ltype,:lstate,:lremark,:lappnum,:leditnum这些参数名
添加到QRY的Parmaters属性当中,并设置它们的属性和默认值在试一下
wangj_0520 2008-04-24
  • 打赏
  • 举报
回复
断章取意!!
这个错误也就是每个具体的参数,如::lcardnum等
ylp144 2008-04-23
  • 打赏
  • 举报
回复
谢谢!这个问题折磨了我很久呢,终于弄出来了!
还有一个
q1.Close;
q1.SQL.Text := 'insert into '+maincd+' ([CARDNUM],[username],[datetime],[TYPE],[STATE],[REMARK],[APPNUM],[EDITNUM]) values (:lcardnum,:lusername,:ldatetime,:ltype,:lstate,:lremark,:lappnum,:leditnum)';
q1.Parameters.ParamByName('lcardnum').Value :=cardnum;
q1.Parameters.ParamByName('lusername').Value :=username;
q1.Parameters.ParamByName('ldatetime').Value :=formatdatetime('yyyymmdd hh:nn:ss',now());
q1.Parameters.ParamByName('ltype').Value := stype;
q1.Parameters.ParamByName('lstate').Value := 1;
q1.Parameters.ParamByName('lremark').Value :=remark;
q1.Parameters.ParamByName('lappnum').Value := appnum;
q1.Parameters.ParamByName('leditnum').Value := editnum;
q1.Prepared;
q1.ExecSQL;
总是报错:无效参数啥的,郁闷啊!
mathsfan 2008-04-23
  • 打赏
  • 举报
回复
maincd错,应该为QuotedStr(maincd)```

2,507

社区成员

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

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