1. 程式人生 > >delphi資料庫中ADOConnecting位置對查詢結果的影響

delphi資料庫中ADOConnecting位置對查詢結果的影響

程式碼不附,只做記錄。


1、大部分資料庫的讀取部分會寫在窗體的onShow事件裡,此時資料庫的更新會在窗體的每次Show中進行資料的連線,也就是說,如果一個ADOConnection1對應兩個ADOQuery1和ADOQuery2,當通過ADOQuery1操作資料庫後,與ADOQuery2相關聯的DataSOURce以及DBGRid不會進行更新,但當關閉程式或者窗體,再次開啟時,ADOQuery2及相關聯的元件進行了更新。

因此,可以嘗試同一個ADOQuery而分別連線兩個DataSource


2、若在建立一個連線資料庫按鈕,並在此按鈕的click事件裡新增ADOConnecting而不是在窗體的onShow事件中,當點選按鈕連線後,再次點選就會出現錯誤提示“物件已開啟。。。。。。”,這是因為之前已經建立連線,再次建立連線時ADOQuery已經存在了向上的資料庫連線(即使相同,亦不可),此時可以在按鈕的click事件裡最後補充ADOQuery.close即可解決。

但是,當存在另一個按鈕是查詢上述的ADOQuery時,由於在連線資料庫後存在close事件,使得使用SQL語言查詢時,提示沒有資料。

兩個按鈕的存在有矛盾,需要解決。