X
xhhero
Unregistered / Unconfirmed
GUEST, unregistred user!
function Tqiwaitest.jinhhoProviderDataRequest(Sender: TObject;
Input: OleVariant): OleVariant;
var
atd:ttransactiondesc;
li_e1,li_e2:integer;
begin
if (not self.SQLConnection1.InTransaction) then
begin
atd.TransactionID:=1;
atd.IsolationLevel:=xilreadcommitted;
self.SQLConnection1.StartTransaction(atd);
try
if not varisnull(input[1]) then
begin
self.jinhhodetailProvider.ApplyUpdates(input[1],0,li_e2);
// if li_e2>0 then
// sysutils.Abort;
end;
if not varisnull(input[0]) then
begin
self.jinhhoprovider.ApplyUpdates(Input[0], 0, li_e1);
/// if li_e1>0 then
// sysutils.Abort;
end;
if li_e1+li_e2= 0 then
begin
SQLConnection1.Commit(atd);
result:='保存成功';
end else
begin
self.SQLConnection1.Rollback(atd);
result:='保存失败';
end;
except
on E : Exceptiondo
begin
self.SQLConnection1.Rollback(atd);
Raise Exception.Create(E.Message);
end;
end;
end;
end;
其中如果有一个表更新失败,第二个表也能更新成功, self.SQLConnection1.Rollback(atd);
这个语句不起作用。还有这个确认语句SQLConnection1.Commit(atd);也不起作用。要不要都一样。
以个情况直接影响我用dbexpress 开发多层结构程序的信心????????
这里有谁用dbexpress开发多层结构程序成功事例?
Input: OleVariant): OleVariant;
var
atd:ttransactiondesc;
li_e1,li_e2:integer;
begin
if (not self.SQLConnection1.InTransaction) then
begin
atd.TransactionID:=1;
atd.IsolationLevel:=xilreadcommitted;
self.SQLConnection1.StartTransaction(atd);
try
if not varisnull(input[1]) then
begin
self.jinhhodetailProvider.ApplyUpdates(input[1],0,li_e2);
// if li_e2>0 then
// sysutils.Abort;
end;
if not varisnull(input[0]) then
begin
self.jinhhoprovider.ApplyUpdates(Input[0], 0, li_e1);
/// if li_e1>0 then
// sysutils.Abort;
end;
if li_e1+li_e2= 0 then
begin
SQLConnection1.Commit(atd);
result:='保存成功';
end else
begin
self.SQLConnection1.Rollback(atd);
result:='保存失败';
end;
except
on E : Exceptiondo
begin
self.SQLConnection1.Rollback(atd);
Raise Exception.Create(E.Message);
end;
end;
end;
end;
其中如果有一个表更新失败,第二个表也能更新成功, self.SQLConnection1.Rollback(atd);
这个语句不起作用。还有这个确认语句SQLConnection1.Commit(atd);也不起作用。要不要都一样。
以个情况直接影响我用dbexpress 开发多层结构程序的信心????????
这里有谁用dbexpress开发多层结构程序成功事例?