是不是用事务? 可小弟不懂的用,有好心人举个例子么
sID :=ADOQuerylook.fieldbyname('学号').AsString;
sSql4 := 'delete from Stu_BasicInfo where XH = ' + #39 + sID + #39;
sSql3 := 'delete from Stu_FamInfo where XH = ' + #39 + sID + #39;
sSql2 := 'delete from Stu_EventInfo where XH = ' + #39 + sID + #39;
sSql1 := 'delete from Stu_GradeInfo where XH = ' + #39 + sID + #39;
adoq := TAdoQuery.Create(nil);
adoq.Connection := self.ADOConnection1;
adoq.SQL.clear;
adoq.SQL.Add(sSql4);
adoq.SQL.Add(sSql3);
adoq.SQL.Add(sSql2);
adoq.SQL.Add(sSql1);
try
adoq.ExecSQL;
self.ADOQueryLook.Close;
self.ADOQueryFamInfo.Close;
self.ADOQueryEvent.Close;
self.ADOQueryGradeInfo.Close;
self.ADOQueryLook.Open;
self.ADOQueryFamInfo.Open;
self.ADOQueryEvent.Open;
self.ADOQueryGradeInfo.Open;
showmessage('delete OK....!');
except
showmessage('delete error');
end;
我这么写肯定是错误的!!!!!
sID :=ADOQuerylook.fieldbyname('学号').AsString;
sSql4 := 'delete from Stu_BasicInfo where XH = ' + #39 + sID + #39;
sSql3 := 'delete from Stu_FamInfo where XH = ' + #39 + sID + #39;
sSql2 := 'delete from Stu_EventInfo where XH = ' + #39 + sID + #39;
sSql1 := 'delete from Stu_GradeInfo where XH = ' + #39 + sID + #39;
adoq := TAdoQuery.Create(nil);
adoq.Connection := self.ADOConnection1;
adoq.SQL.clear;
adoq.SQL.Add(sSql4);
adoq.SQL.Add(sSql3);
adoq.SQL.Add(sSql2);
adoq.SQL.Add(sSql1);
try
adoq.ExecSQL;
self.ADOQueryLook.Close;
self.ADOQueryFamInfo.Close;
self.ADOQueryEvent.Close;
self.ADOQueryGradeInfo.Close;
self.ADOQueryLook.Open;
self.ADOQueryFamInfo.Open;
self.ADOQueryEvent.Open;
self.ADOQueryGradeInfo.Open;
showmessage('delete OK....!');
except
showmessage('delete error');
end;
我这么写肯定是错误的!!!!!
多谢楼上的2位
sSql4 := 'delete from Stu_BasicInfo where XH = ' + #39 + sID + #39;
sSql3 := 'delete from Stu_FamInfo where XH = ' + #39 + sID + #39;
sSql2 := 'delete from Stu_EventInfo where XH = ' + #39 + sID + #39;
sSql1 := 'delete from Stu_GradeInfo where XH = ' + #39 + sID + #39;
adoq := TAdoQuery.Create(nil);
adoq.Connection := self.ADOConnection1;
adoq.SQL.clear;
adoq.SQL.Add(sSql4);
adoq.SQL.Add(sSql3);
adoq.SQL.Add(sSql2);
adoq.SQL.Add(sSql1);
adoq.SQL.Add('GO');//这里加个GO试试~~不行就用存储过程了
try
adoq.ExecSQL;
self.ADOQueryLook.Close;
self.ADOQueryFamInfo.Close;
self.ADOQueryEvent.Close;
self.ADOQueryGradeInfo.Close;
self.ADOQueryLook.Open;
self.ADOQueryFamInfo.Open;
self.ADOQueryEvent.Open;
self.ADOQueryGradeInfo.Open;
showmessage('delete OK....!');
except
showmessage('delete error');
end;
我这么写肯定是错误的!!!!!
ADOConnection1.BeginTrans;
//...
//...
// 你的操作
ADOConnection1.CommitTrans;
except
ADOConnection1.RollbackTrans;
end;