条件更新ACCESS数据(100分)

  • 主题发起人 主题发起人 nethero
  • 开始时间 开始时间
N

nethero

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,我写的SQL语句如下,数据库是ACCESS
with DataModule1.Q_Result do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE t_user SET name=''edit_name.text'',phone=''edit_phone.text'',note=''edit_addr.text'''); SQL.Add('where account=:account');
Parameters[0].Value:=Edit_Account.Text;
Open;
end; // with
此程序的目的是将拥有相同帐号的人的信息比如名称,电话等改成一致.edit_name,edit_phone,edit_addr,edit_account是编辑框,就是把编辑框中的内容更新回数据库.
请问诸位,该SQL语句该如何修改?还有我测试的时候,提示"当前程序不支持从单一执行返回多个记录集"是怎么回事? 判众施援手,100小礼送上.
 
with DataModule1.Q_Result do
begin
Close;
SQL.Clear;
SQL.Add('UPDATE t_user SET name='''+edit_name.text+''',phone='''+edit_phone.text+''',note='''+edit_addr.text+'''');
SQL.Add('where account=:account');
Parameters[0].Value:=Edit_Account.Text;
ExecSQL;
end;
将变量传入sql需要用上面的格式,用于没有返回数据的sql语句要用ExecSQL执行,否则才用open
 
谢谢xinjinren,不过应该改为这句才对,否则会报SQL语法错误:
SQL.Add('UPDATE t_user a SET a.name='''+edit_name.text+''',a.phone='''+edit_phone.text+''',a.note='''+edit_addr.text+'''');
就是加一个表别名,我想恐怕就是ACCESS的原因了吧
 
接受答案了.
 
后退
顶部