我先把TASDOQUERY进行了查询操作,紧接着用TADOQUERY进行修改
程序就会报错!我用的是同一个 TADOQUERY;以下是我的程序,其中AQ是TADOQUERY控件;
谢谢!
procedure TFrm_manage_vip.BtnModifyClick(Sender: TObject);
var
  strSql : string;
begin
  strSql := ’select * from smp124 where dcUserMobile = ’’’;
  strSql := strSql + self.EditMobile.Text + ’’’’;
  aq.Close ;
  aq.SQL.Clear;
  aq.SQL.Add(strSql);
  aq.Open ;
  if aq.RecordCount <= 0 then
  begin
    showmessage(’没有符合条件的记录!’);
    exit;
  end;
  strSql := ’update smp124 set dcUserName = ’’’ + self.EditUserName.Text + ’’’’;
  strSql := strSql + ’dcusermemo = ’’’ + self.RichEditMemo.Text + ’’’’;
  aq.Close ;
  aq.SQL.Clear;
  aq.SQL.Add(strSql);
  try
    aq.ExecSQL ; //程序在这里报错!
  except
    showmessage(’修改失败!’);
  end;end;

解决方案 »

  1.   

    你好像少了一个“,”吧!
    ’,dcusermemo = ’’’
      

  2.   

    SQL 语句没有错,delphi 中是否是查询和插入、修改等操作不能用一个TOADQUERY控件,我曾经在一个窗体中用TOADQUERY进行了查询操作,而在另外一个窗体中用同一个TOADQUERY控件进行插入时也报错?
      

  3.   

    sql语句错了,update tablename set field1=ddd,field2=fsdf
    你俩个字段间差一个符号: ,
      

  4.   

    不会呀!我经常 用的就是查询完了以后就还是用这个ADOQUERY来对数据进行更新的呀!
      

  5.   

    如果是对数据集进行修改,建议使用TADODataset,或这直接调用
    ADOConnection.Execute('update sometable set...');
      

  6.   

    1.
      strSql := ’update smp124 set dcUserName = ’’’ + self.EditUserName.Text + ’’’’;
      strSql := strSql + ’dcusermemo = ’’’ + self.RichEditMemo.Text + ’’’’;
      
       dcusermemo : 加空格 
    2.再你检查了Sql语句没有问题时,就是ADO驱动的问题了;我原来也遇到过莫名其妙的错误,代码对的,就是更新时无法执行。