我是新手,问个update的问题(50分)

  • 主题发起人 主题发起人 HeJe
  • 开始时间 开始时间
H

HeJe

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update friend set userpass='''+newpass+''' where username='''+username+'''');
ADOQuery1.ExecSQL;

在运行时会出错,参数userpass没有默认值,这是为什么?应该怎么改呢?
 
查quotedstr的使用方法,要不就用个中间变量把update串先组合好再查询。
 
是不是Access库
userpass没有这个字段吧
在查检一下数据库
 
sqlstr:='update friend set userpass='''+newpass+''' where username='''+username+'''';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(sqlstr);
ADOQuery1.ExecSQL;
改成这样?
还是不行

------回Corinth
是Access库
数据库里有相应字段
 
建议使用参数
 
我怀疑你的newpass没有赋值

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update friend set userpass='''+newpass+''' where username='''+username+'''');
showmessage(ADOQuery1.sql.text);//看一下你的newpass有没有成功赋值。

ADOQuery1.ExecSQL;
 
同意楼上,userpass可能为空!
 
newpass没有附值吧
 
跟踪。。。。。。。。
 
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update friend set userpass=' + Quotedstr(newpass) + ' where username=' + Quotedstr(username));
ADOQuery1.ExecSQL;

再个userpass设一个默认值
这样就可以了
 
多人接受答案了。
-----谢谢大家,我解决了
 
后退
顶部