使用的simpledataset组件,记录被更新后,调用更新服务器数据库applyupdates(-1)方法总出现以上错误提示。搞得我都头大!
请指点!

解决方案 »

  1.   

    //代码好像不好贴,因为分散在几个过程中,我试着将但步执行用到得代码全贴下来
    procedure TForm2.FormShow(Sender: TObject);
      begin
           datasource1.enabled:=false;
    simpledataset1.Close;
             simpledataset1.DataSet.CommandText:='select * from cyljde order by ljth';
             simpledataset1.Open;
             datasource1.Enabled :=true;
             dbcombobox1.DataField:='cpmc';
             dbcombobox2.DataField:='ljmc';
             dbcombobox3.DataField:='ljdm';
             dbcombobox4.DataField:='ljth';
             dbcombobox5.DataField:='cldm';
             dbcombobox6.DataField:='clmc';
             dbcombobox7.DataField:='';
             dbcombobox8.DataField:='';
             dbcombobox9.DataField:='xlkd';
             dbcombobox10.DataField:='qbjl';
             dbcombobox11.DataField:='llts';
             dbcombobox12.DataField:='cllx';
             dbedit1.DataField:='rq';
             dbedit2.DataField:='qkjs';
             dbedit3.DataField:='qjjz';
             dbedit4.DataField:='qjde';
             dbedit5.DataField:='qjfl';
             dbedit6.DataField:='cllyl';
             dbedit7.DataField:='cljz';
             dbedit8.DataField:='clcc';
             dbedit9.DataField:='clsgc';
             dbedit10.DataField:='clxgc';
             dbedit11.DataField:='xlxs';
    end;
    procedure TForm2.Button8Click(Sender: TObject);
    begin
     if datamodule5.simpledataset1.dataset.State=dsedit
       then datamodule5.SimpleDataSet1.Post;if datamodule5.SimpleDataSet1.ChangeCount>=1 then
     if (dbedit2.text<>'')and(dbedit8.text<>'') and (dbedit11.text<>'') and (dbcombobox12.text<>'') and (dbcombobox9.text<>'') and ((dbcombobox10.Text<>'') or (dbcombobox11.text<>''))
    then begin
    datamodule5.simpledataset1.ApplyUpdates(0);
    end
    else showmessage('输入的数据不完整');
    end;
    //这样能说明问题不能?
      

  2.   

    是我粗心,这是一mysql服务器返回的错误消息!(怪不得在delphi的错误帮助中找不到错误信息:))
    估计是查询与更新冲突造成的!
    在这方面大家是否有好的办法来解决?