回 帖 发 新 帖 刷新版面

主题:如何同时删除2张表的资料

这种情况其实很常见,例如我删除用户表里的某条资料,然后另外一张表对应这个用户的资料也一并删除,但我做出来的可以顺利运行,但一按删除这按钮就报错,说用冲突,请问这种情况可能出现了什么问题,或者大虾们提供下自己会怎么做

回复列表 (共2个回复)

沙发


str := 'delete from userinfo where (CustID='''+ADOQuery1.FieldByName('CustID').AsString+''')';
  //str1 := 'delete from CompTable where (CustName='''+ADOQuery1.FieldByName('CustName').AsString+''')';

  ADOQuery1.Close;
  ADOQuery1.SQL.Text := str;
  try
  ADOQuery1.ExecSQL;
  ShowMessage('删除成功!');

  ADOQuery1.Close;
  ADOQuery1.SQL.Text := 'select CustID,CustName,Style,IDCard,Area,MobPhone,TelPhone,Fax,Email from userinfo';
  ADOQuery1.Open;

  ADOQuery2.Close;
  ADOQuery2.SQL.Text := 'delete from CompTable where (CustID='''+ADOQuery2.FieldByName('CustID').AsString+''')';
  ADOQuery2.ExecSQL;

  DBGrid1.DataSource.DataSet.Last;
  Label2.Caption := '目前有'+InttoStr(DBGrid1.DataSource.DataSet.RecNo)+'条记录';
  except
  ShowMessage('删除失败!');
  Exit;
  end;




这就是我写的代码,大家看下为什么会报错

板凳

用 触发器。

我来回复

您尚未登录,请登录后再回复。点此登录或注册