with  mainModule1.operatorClient  do
 begin
   close;
    str:='update operator set bumeng='+'"'+trim(edit3.Text)+'",';
    str:=str+'xingming='+'"'+trim(edit4.Text)+'",';
    str:=str+'dnbianhao='+'"'+trim(edit7.Text)+'",';
    str:=str+'password='+'"'+trim(edit5.Text)+'"';
    str:=str+' where gonghao='+'"'+trim(edit1.Text)+'"';
    CommandText:=str;
    Execute;
为什么会出现这样的提示?

解决方案 »

  1.   

    operator是不是SQL SERVER的保留字呢?
      

  2.   

    应该是这样
    with  mainModule1.operatorClient  do
     begin
       close;
        str:='update operator set bumeng='+''''+trim(edit3.Text)+''',';
        str:=str+'xingming='+''''+trim(edit4.Text)+''',';
        str:=str+'dnbianhao='+''''+trim(edit7.Text)+''',';
        str:=str+'password='+''''+trim(edit5.Text)+'''';
        str:=str+' where gonghao='+''''+trim(edit1.Text)+'''';
        CommandText:=str;
        Execute;
      

  3.   

    我有一次调试COM+时也出现这个错误,后来文件被我搞没了,也就没再管他,没想到现在有人跟我一个遭遇
      

  4.   

    在这样试
    with  mainModule1.operatorClient  do
     begin
       close;
        str:='update operator set bumeng='+''''+trim(edit3.Text)+''''+',';
        str:=str+'xingming='+''''+trim(edit4.Text)+''''+',';
        str:=str+'dnbianhao='+''''+trim(edit7.Text)+''''+',';
        str:=str+'password='+''''+trim(edit5.Text)+'''';
        str:=str+' where gonghao='+''''+trim(edit1.Text)+'''';
        CommandText:=str;
        Execute;
    你把字段类型都列出来让
      

  5.   

    但是......一执行到execute处,不管三七二十一就出现'灾难性故障'(头疼),换成open虽然更新成功,但出现'不能返回数据集'的提示;我换了种办法更新数据,但就是更新不成功,代码如下:
        edit;
        Fields.Fields[0].Value:=trim(edit3.Text);
        Fields.Fields[1].Value:=trim(edit4.Text);
        Fields.Fields[5].Value:=trim(edit7.Text);
        Fields.Fields[3].Value:=trim(edit5.text);
        try
          ApplyUpdates(-1);
        except
        end;