小
小阿文
Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中事務控件可用以下兩種方式:
1.使用Database控件的方法和屬性
這種方式用如下來實現
Dbase.StartTransaction;
QY_order.Append;
....
Qy_order.ApplyUpdates;
Qy_order.CommitUpdates;
Dbase.Commit;
這種方式我一般直接用數據控制部件(如TDbedit)來顯示數據,在數據控制部件
中修改再來提交.
2.使用Query部件中的傳遞式SQL
這種方式是用一般控件顯示數據(如TEdit),在其中編輯數據,再用query的sql
來提交給后台執行存檔:
Qy_order.Sql.Clear
Qy_order.Sql.Add('Insert into Order values (....)'); //簡寫
或
Qy_order.Sql.Add('Update Order set ..=......');
Qy_order.Execsql
這種方式要后台數據庫支持傳遞式Sql表達式才可以使用(如Sqlserver).
另外這種方式在顯示數據時要寫一個過程來將數據表的當前記錄讀到Tedit中.
我一般是用第一種方法,請問各路高手,這兩種有何優劣?
1.使用Database控件的方法和屬性
這種方式用如下來實現
Dbase.StartTransaction;
QY_order.Append;
....
Qy_order.ApplyUpdates;
Qy_order.CommitUpdates;
Dbase.Commit;
這種方式我一般直接用數據控制部件(如TDbedit)來顯示數據,在數據控制部件
中修改再來提交.
2.使用Query部件中的傳遞式SQL
這種方式是用一般控件顯示數據(如TEdit),在其中編輯數據,再用query的sql
來提交給后台執行存檔:
Qy_order.Sql.Clear
Qy_order.Sql.Add('Insert into Order values (....)'); //簡寫
或
Qy_order.Sql.Add('Update Order set ..=......');
Qy_order.Execsql
這種方式要后台數據庫支持傳遞式Sql表達式才可以使用(如Sqlserver).
另外這種方式在顯示數據時要寫一個過程來將數據表的當前記錄讀到Tedit中.
我一般是用第一種方法,請問各路高手,這兩種有何優劣?