假如我用兩條刪除語句。分別寫在兩個query控件當。
比如:
form1.Database1.StartTransaction;
 query5.SQL.Add('delete from bjd where bjd1="'+edit1.Text+'"');
query5.ExecSQL;
query2.Close;
     query2.SQL.Clear;
    query2.SQL.Add('select * from bjds where bjds2="'+edit1.Text+'"');
    try
    query2.Open;
    except
    query2.ExecSQL;
    end;
query2.Close;
    query2.SQL.Clear;
    query2.SQL.Add('delete from bjds where bjds2="'+edit1.text+'"');
    query2.ExecSQL;
try
    form1.Database1.Commit;
    except
     form1.Database1.Rollback;
     end;
其中的事物會不會有作業。我感覺它們好像沒有作用一樣。還請各位大哥指點一下。

解决方案 »

  1.   

    你写错了次序了。这样:
    form1.Database1.StartTransaction;
    try
        query5.SQL.Add('delete from bjd where bjd1="'+edit1.Text+'"');
        query5.ExecSQL;
        query2.Close;
        query2.SQL.Clear;
        query2.SQL.Add('select * from bjds where      bjds2="'+edit1.Text+'"');
        try
          query2.Open;
        except
          query2.ExecSQL;
        end;
        query2.Close;
        query2.SQL.Clear;
        query2.SQL.Add('delete from bjds where bjds2="'+edit1.text+'"');
        query2.ExecSQL;
    except
         form1.Database1.Rollback;    
    end;
    form1.Database1.Commit;