++update语句的问题+++(20分)

  • 主题发起人 主题发起人 vernal_chevy
  • 开始时间 开始时间
V

vernal_chevy

Unregistered / Unconfirmed
GUEST, unregistred user!
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update login set Password=:psd where Name=:username');
ADOQuery1.Parameters[0].value:=Combobox1.Text;
ADOQuery1.Parameters[1].value:=Edit2.Text;

try
ADOQuery1.Prepared;
ADOQuery1.ExecSQL;
except
end;

执行到ADOQuery1.ExecSQL;时候,提示:update语句错误,
why??help me!!
 
我是这样使用的, 你试一下
Parameters.ParamByName(' 参数1 ').value:=参数值
 
你把SQL提取出来看一下是否正确。(数据类型)
 
试试zilo的办法,如果不行,你可以直接拼sql语句呀。
 
你的password,name两个字段都是字符型的吗?
是不是类型不匹配的问题?
 
你有没有给参数指定类型啊?
 
如何指定类型????
 
ADOQuery1.Parameters[0].[red]AsString[/red]:=Combobox1.Text;
ADOQuery1.Parameters[1].[red]AsString[/red]:=Edit2.Text;

 
password,name两个字段都是Access数据库的文本类型.
 
把语句写在Query中试试
这样可以查到参数的正误
我怀疑是=:不好
写分散一点试试
 
没有定义SQL语句中变量的类型。应该这样写:
ADOQuery1.SQL.Add('update login set Password=:psd where Name=:username');
ADOQuery1.Parambyname('psd').asstring:=Combobox1.Text;
ADOQuery1.Parambyname('username').asstring:=Edit2.Text;

 
多人接受答案了。
 

Similar threads

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