用delphi6.0和sql2000开发一个管理系统,其中用到了事务,同时对三个表进行操作,其中一个中每次加入一务记录不出错,同时加入两条以上的记录在保存时出现如下错误“多步操作产生错误,请检查每一步状态值!”

解决方案 »

  1.   

    最好是加入一条记录以后就提交一次
    具体实现的办法是多用几个ADOQUERY
    添加一条就执行一次 然后再添加......否则当你修改完一条数据后 数据库已经修改 下条添加的记录无法定位
    试试
      

  2.   

    问题不在于此
    肯定是sql语句有问题
      

  3.   

    Sql语句有问题,帖出来看看。
      

  4.   

    if checkbox2.Checked then  scdddm.ADOQgylc.FieldValues['zb']:='是'
    else
    scdddm.ADOQgylc.FieldValues['zb']:='';if checkbox3.Checked then  scdddm.ADOQgylc.FieldValues['sb']:='是'//晒版
    else
    scdddm.ADOQgylc.FieldValues['sb']:='';if checkbox4.Checked then  scdddm.ADOQgylc.FieldValues['mqb']:='是'//模切版
    else
    scdddm.ADOQgylc.FieldValues['mqb']:='';if checkbox5.Checked then  scdddm.ADOQgylc.FieldValues['tj']:='是'//烫金
    else
    scdddm.ADOQgylc.FieldValues['tj']:='';if checkbox6.Checked then  scdddm.ADOQgylc.FieldValues['fygm']:='是'//复亚光膜
    else
    scdddm.ADOQgylc.FieldValues['fygm']:='';if checkbox7.Checked then  scdddm.ADOQgylc.FieldValues['hh']:='是'//糊盒
    else
    scdddm.ADOQgylc.FieldValues['hh']:='';if checkbox8.Checked then  scdddm.ADOQgylc.FieldValues['qt1']:='是'//其它1
    else
    scdddm.ADOQgylc.FieldValues['qt1']:='';if checkbox9.Checked then  scdddm.ADOQgylc.FieldValues['fp']:='是'//发片
    else
    scdddm.ADOQgylc.FieldValues['fp']:='';if checkbox10.Checked then  scdddm.ADOQgylc.FieldValues['dy']:='是'//打样
    else
    scdddm.ADOQgylc.FieldValues['dy']:='';if checkbox11.Checked then  scdddm.ADOQgylc.FieldValues['yh']:='是'//压痕
    else
    scdddm.ADOQgylc.FieldValues['yh']:='';if checkbox12.Checked then  scdddm.ADOQgylc.FieldValues['mq']:='是'//模切
    else
    scdddm.ADOQgylc.FieldValues['mq']:='';if checkbox13.Checked then  scdddm.ADOQgylc.FieldValues['yat']:='是'//压凹凸
    else
    scdddm.ADOQgylc.FieldValues['yat']:='';if checkbox14.Checked then  scdddm.ADOQgylc.FieldValues['ktc']:='是'//开天窗
    else
    scdddm.ADOQgylc.FieldValues['ktc']:='';if checkbox15.Checked then  scdddm.ADOQgylc.FieldValues['ty']:='是'//烫银
    else
    scdddm.ADOQgylc.FieldValues['ty']:='';if checkbox16.Checked then  scdddm.ADOQgylc.FieldValues['biaohu']:='是'//裱糊
    else
    scdddm.ADOQgylc.FieldValues['biaohu']:='';if checkbox17.Checked then  scdddm.ADOQgylc.FieldValues['flgm']:='是'//复亮光膜
    else
    scdddm.ADOQgylc.FieldValues['flgm']:='';if checkbox18.Checked then  scdddm.ADOQgylc.FieldValues['dhdx']:='是'//打号点线
    else
    scdddm.ADOQgylc.FieldValues['dhdx']:='';if checkbox19.Checked then  scdddm.ADOQgylc.FieldValues['th']:='是'//提货
    else
    scdddm.ADOQgylc.FieldValues['th']:='';if checkbox20.Checked then  scdddm.ADOQgylc.FieldValues['sh']:='是'//送货
    else
    scdddm.ADOQgylc.FieldValues['sh']:='';if checkbox21.Checked then  scdddm.ADOQgylc.FieldValues['qt2']:='是'//其它2
    else
    scdddm.ADOQgylc.FieldValues['qt2']:='';if checkbox22.Checked then  scdddm.ADOQgylc.FieldValues['qt3']:='是'//其它3
    else
    scdddm.ADOQgylc.FieldValues['qt3']:='';
    scdddm.ADOQgylc.FieldValues['bjdh']:=dbedit3.Text ;
    scdddm.ADOQbjd.FieldValues['rq']:=datetostr(date());
    scdddm.ADOQbjd.FieldValues['jhrq']:=datetostr(DateTimePicker4.Date);
    scdddm.ADOQbjd.FieldValues['zt']:='计价';
    if checkbox23.Checked=true then
      scdddm.ADOQbjd.FieldValues['yzly']:='用户自带'
    else
      scdddm.ADOQbjd.FieldValues['yzly']:='印厂提供';
    scdddm.ADOQbjd.Post;
    scdddm.ADOQgylc.Post;
    scdddm.ADOConnection1.CommitTrans;
      

  5.   

    将 FieldValues 用
      fieldbyname('fieldname').asstring;
        fieldbyname('fieldname').asinteger; 等替换。