主题:如何同时删除2张表的资料
channelxp
[专家分:20] 发布于 2007-03-12 10:43:00
这种情况其实很常见,例如我删除用户表里的某条资料,然后另外一张表对应这个用户的资料也一并删除,但我做出来的可以顺利运行,但一按删除这按钮就报错,说用冲突,请问这种情况可能出现了什么问题,或者大虾们提供下自己会怎么做
回复列表 (共2个回复)
沙发
channelxp [专家分:20] 发布于 2007-03-12 10:51:00
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;
这就是我写的代码,大家看下为什么会报错
板凳
s_slan [专家分:50] 发布于 2007-03-12 13:14:00
用 触发器。
我来回复