这是什么意思啊?更新数据语法是怎样的?BZM是我Access里面的第一个字段,ZH等都可以更新,
BZM确不能更新,是为什么啊?代码如下:
 if radiobutton6.Checked then
  begin
    try
      with DataModule2.ADOQuery1 do
      begin
       sql.Clear ;
       sql.add('update w set BZM=:BZM,ZH=:ZH,YFLH=:YFLH,ZWM=:ZWM '
       +'where BZM='''+edit2.text+'''');
       parameters.ParamByName('BZM').Value :=edit2.Text ;
       parameters.ParamByName('ZH').Value :=edit3.Text ;
       parameters.ParamByName('YFLH').Value :=edit4.Text ;
       parameters.ParamByName('ZWM').Value :=edit5.Text ;
       execsql;
      end;
      except
      messagedlg('修改<'+edit2.Text +'>失败',mterror,[mbok],0);
      exit;
 end;

解决方案 »

  1.   

    运行没有错啊,只是不是我想要的结果啊.我在界面左边的ListView结果里面选中一个想修改.数据库是Access,有4个字段.我要在界面右边4个EDIT里面修改选中的结果,可是后3个可以更新,但第一个无法更新,这是为什么啊?
      

  2.   

    UPDATE table
         SET newvalue
         WHERE criteria    table
      要改变其数据内容的数据库名称
         newvalue
      将旧纪录值改变为新值的表达式, . 
         criteria
      一个表达式, SQL将通过该表达式监测哪些纪录值将被改变这是我查到的语法,可是监测的那个edit2.Text 偏偏没有更新!搞笑啊
      

  3.   

    好了,没事了,去掉WHERE 子句就可以了.