我有個管理系統,所有ADOQUERY組件的 CursorLocation屬性設定為 clUseClient,一直運行正常,我嘗試全部設定為clUseServer, 系統不運行了,請大家幫忙。
我的做法是:
1. 連接資料庫之前,先將ADOConnection的 CursorLocation設定為clUseServer
2. 呼叫表單前,遍歷表單所有ADOQUERY組件,然后將其 CursorLocation設定為clUseServer
ADOQUERY.Open 失敗
uj5u.com熱心網友回復:
CursorLocation屬性,指定資料庫指標是指向客戶端還是服務器端。型別TCursorLocation包含兩個值:1、cluseServer:使用服務器端的資料庫指標,適用于資料量大的資料集。
2、cluseClient:使用客戶端的資料指標的時候,資料將被下載到本地計算機上,并在本地進行操作。
3、設定CursorLocation:=cluseServer;指定使用服務器端游標,使用服務器端游標的好處是,程式對資料庫的修改可以立即反映到服務器,而且,其他用戶對資料庫的操作也可以馬上反映出來,但使用服務器端游標帶來了高網路流量, 每一個資料訪問都需要通過網路交換資料。
4、設定CursorLocation:=cluseClient;指定使用客戶端的游標,ADO提供了客戶端資料快取處理機制,因此,ADO利用本地資料快取以降低網路流量,雖然在資料訪問靈活性上有所損失,但卻大大提高了通過網路訪問資料庫的性能。
你的軟體,使用服務器端的資料庫指標,可能使用異步檢索多個資料集,造成網路堵死。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/74579.html
標籤:VCL組件開發及應用
下一篇:delphi 卷簾式選單欄
