TDataSetProvider 元件的設定

 

TDataSetProvider 元件的設定

 

TDataSetProvider 元件的 UpdateMode 特性值會影響 TDataSetProvider 元件

產生什麼樣的 SQL 敘述來更新資料。在內定上 TDataSetProvider 元件的

UpdateMode upWhereAll

由於在尋找資料時也必須比對所有的欄位數值,所以是比較緩慢的更新方式。

 

UpdateMode 設定為 upWhereKeyOnly 那麼應用程式伺服器將會執行的

快一點。UpdateMode 設定為 upWhereKeyOnly 是表示當 TDataSetProvider

件在資料庫中尋找要被更新的資料時,是直接使用資料的索引值來搜尋資料

的。

 

TDataSetProvider 元件是使用它連結的資料集來更

新資料時,自動產生的 SQL 敘述是由資料集的設定值來控制的,

TDataSetProvider 元件的設定值不再有影響力

 

ResolveToDataSet 特性是 False 時,TDataSetProvider 元件是自己產生更新資料的 SQL 敘述把異動的資料更新回資料庫,而當 ResolveToDataSet 特性是 True時,它則呼叫它連結的資料集元件把異動的資料更新回資料庫。

 

TDataSetProvider 元件自動產生的 SQL 敘述對於

一次異動的所有資料只會要求資料庫 prepare 一次 SQL 敘述。每次更新資料

時,只是代入不同的動態參數,這種執行方式非常的快速。

 

TDataSetProvider 元件使用資料集更新資

料時。對於每一筆更新的資料都會要求資料庫 prepare 一次 SQL 敘述。這比起

前面讓 TDataSetProvider 元件自動產生 SQL 敘述的方式來得非常沒有效率。

因為更新多筆資料時,每一筆資料的資料表綱要應該是一樣的,並不需要為相

同的 SQL 敘述準備 prepare 這麼多次。但是如果你仔細觀察使用資料集更新資

料時,它在更新之後,只會取回異動的資料,而不是像前面是取得所有的資

料。所以使用資料集更新資料的方式雖然在執行更新資料的 SQL 敘述比較沒

有效率,但是在從資料庫取得異動之後的資料卻是有效率的多了。

 

TDataSetProvider 元件使用資料集元件更新資料,再配合執行已經

Prepare 好的 SQL 敘述會是最有效率的方式。可以考慮使用

另外的 TQuery 元件執行事先寫好的 SQL 敘述,並且在應用程式伺服器啟

動時先 prepare 這些 TQuery 元件的 SQL 敘述,並且在應用程式伺服器結

束時 UnPrepare 這些 TQuery 元件的 SQL 敘述。

 

 

 

 

你可能感兴趣的:(Provider)