报错 "至少一个参数没有被指定值" 请大家帮忙 看看 300分 ( 积分: 200 )

  • 主题发起人 主题发起人 lijun_snut
  • 开始时间 开始时间
L

lijun_snut

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是 access 数据库 执行的到下列代码的时候 报 "至少一个参数没有被指定值'
请大家看看300分
sql.Add('update pat set fns_time=date(),state=0 where ( state=:state and com_name=:com_name and com_id=:com_id and type2=:type2)');

parameters.ParamByName('com_id').Value:=nw.com_id;
parameters.ParamByName('type2').Value:=nw.ftype;
parameters.ParamByName('state').Value:=2;
parameters.ParamByName('com_name').Value:=nw.com_name;
 
我用的是 access 数据库 执行的到下列代码的时候 报 "至少一个参数没有被指定值'
请大家看看300分
sql.Add('update pat set fns_time=date(),state=0 where ( state=:state and com_name=:com_name and com_id=:com_id and type2=:type2)');

parameters.ParamByName('com_id').Value:=nw.com_id;
parameters.ParamByName('type2').Value:=nw.ftype;
parameters.ParamByName('state').Value:=2;
parameters.ParamByName('com_name').Value:=nw.com_name;
 
加上这个试试:
//////////////////////////////////////////////////////
ADOQuery1.Parameters.ParseSQL(ADOQuery1.sql.text,true);
//////////////////////////////////////////////////////

parameters.ParamByName('com_id').Value:=nw.com_id;
parameters.ParamByName('type2').Value:=nw.ftype;
parameters.ParamByName('state').Value:=2;
parameters.ParamByName('com_name').Value:=nw.com_name;
 
不要这样用。。。。
要这样用。。。
我假设nw.com_name和nw.ftype是字符型,别的是数值型,如不对自己改一下
改成
sql.Add('update pat set fns_time=date(),state=0 where ( state=2 and com_name='''+nw.com_name+''' and com_id='+nw.com_id+' and type2='''+nw.ftype+'''');
 
"参数未指定"一般是字段名写错了或者字段值不能被识别.
 
感觉应该是类型匹配上错误了。建议直接写成sql语句,不要用parameters
 
查一下是不是 某个字段类型不匹配了
parameters那里
 
手动把参数加进Parameters列表中,再试试看
 
找到原因了,数据库里拉掉了一个字段!
谢谢大家!
 
高,实在是高
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
850
import
I
S
回复
0
查看
937
SUNSTONE的Delphi笔记
S
后退
顶部