我打算一個Delphi 6 BDE應用程序遷移到德爾福2010年......相當於Delphi 2010 dbExpress中的TUpdateSQL?
首先,我必須從BDE移開? (我會但我更喜歡在可能的情況下分階段做到這一點)
二,是dbExpress的最佳選擇? (我正在使用MS SQL)
最後,在dbExpress中是否有相當於TUpdateSQL? (或其他任何東西)
我有很多的(使用TUpdateSQL和ApplyUpdate)網格內更新只讀查詢代碼。
請幫忙~~~
非常感謝。
我打算一個Delphi 6 BDE應用程序遷移到德爾福2010年......相當於Delphi 2010 dbExpress中的TUpdateSQL?
首先,我必須從BDE移開? (我會但我更喜歡在可能的情況下分階段做到這一點)
二,是dbExpress的最佳選擇? (我正在使用MS SQL)
最後,在dbExpress中是否有相當於TUpdateSQL? (或其他任何東西)
我有很多的(使用TUpdateSQL和ApplyUpdate)網格內更新只讀查詢代碼。
請幫忙~~~
非常感謝。
1)你絕對必須遷移從BDE至DbExpress。 BDE是一種obsolete and deprecated技術。
你可以閱讀這些文章
2)的dbExpress比BDE一個更好的選擇與SQL Server進行通信,但是我更喜歡ADO,因爲是原生爲SQL Server。
3)的dbExpress沒有部件類似於TUpdateSQL然而Luxene具有TDBXUpdateSQL至極是從的dbExpress的eXtension部件的一部分。
您可以檢查也InstantBDExpress(是一個組件庫,使老BDE應用到的dbExpress技術無縫遷移)從ETHEA
再見。
使用dbExpress的的SQLQuery組分,一種可寫的查詢'如
update <table>
set value = :v1
where something = :v2
,然後一個調用「execsql」的方法來物理地更新該表。
使用ClientDatasets和提供程序,可以使用帶有一般OnUpdateRecord的TDatasetProvider(?,現在不記得確切名稱)處理程序,並使其使用您在TUpdateSQL上使用的 sqls。
只是一個想法,在這種情況下,你不能使用第三方組件....
在一個TDataSetProvider有(..通過TADOQuery等)
稱爲BeforeUpdateRecord一個事件是basicly做TUpdateSQL更手動方式,你必須創建SQL你的自我,然後更新它。
它怎麼過具有其中TUpdateSQL
SRY新舊價值觀的基本相同,這是C++,我不知道dehpli但basicly一樣,我認爲
DeltaDS->FieldByName("id")->NewValue;
和
DeltaDS->FieldByName("id")->OldValue;
也必須設置
Applied = true;
,以便它不會嘗試做更新你手動完成後,
這裏幾個環節,這應有助於 About BeforeUpdateRecord
,如果您需要任何更多的信息只是添加評論和虐待回來給你
他詢問TUpdateSQL組件,它允許用BDE組件(TTable,TQuery)生成的SQL代替開發人員編寫的SQL。它主要用於允許使用連接進行查詢更新。 – 2009-10-28 14:45:15
當我說'更新'閱讀:插入,刪除和更新命令。 – 2009-10-28 14:53:43
無法使用連接插入/刪除/更新。只有'select'語句可以有一個連接。 – 2009-10-29 14:01:39