UniDAC使用SQLite資料庫可能碰到的問題

2021-05-24 12:47:41 字數 953 閱讀 9691

如果說要使用第三方控制項來鏈結運算元據庫,我想unidac絕對是個很好的選擇。對於sqlite來說,像這樣能較好支援中文的第三方控制項更是少有了。不過使用unidac來說可能會碰到一些有趣的問題,特別是對於新手來說。現在說說我安裝控制項後使用sqlite碰到的問題:

一、sqlite3.dll 不能被載入的問題

開始以為只要在程式主目錄下就可以直接在鏈結時被呼叫,但其實不是這樣的,預設情況下一般是從c:/windows/system32目錄下呼叫的,至少對於程式設計工具來說這是預設的呼叫路徑,所以將dll拷到目錄下即可解決,這個其實也不算是什麼問題。

二、unidac這個控制項很有意思,在鏈結資料庫時是不提供開啟檔案對話方塊的,如果你直接填寫資料庫名的話,這個資料庫應該會是直接被建立在桌面上了。

三、資料庫不能被開啟,database could not be opened!

據說從3.5版本以後,sqlite是不支援中文路徑的,不過我用3.5以上版本也能鏈結成功,當然,這是在解決問題之後,解決之前的問題是如果把路徑設定為英語,那絕對是鏈結沒問題,換中文的話打死也鏈結不上,所以我想這方面多少應該是有些關係的。

四、sqlite function is not linked!

sqlite的函式未鏈結,說白了就是函式呼叫失敗,我不知道其它人碰到會是什麼樣的原因,但我這裡碰到的應該是sqlite3.dll損壞造成的函式呼叫失敗,不能說是肯定,但在替換過兩次後,鏈結恢復正常。想了想,用sqlite3.dll的肯定不只一種軟體,如果你安裝這類軟體時,軟體沒有檢查sqlite3.dll的存在和版本,並且直接替換掉了你原來使用的dll,那就很有可能造成版本不相容問題,從而導致資料庫鏈結失敗,至少我看到了,當我恢復我原來的dll時,另乙個原來使用正常的軟體掛掉了……

五、不是問題的問題,用unidac設定鏈結時我經常會看到unsuppored metadata kind ,看上去不是什麼特別的異常,應該只是設定鏈結的步驟不對,先把conneted設定為false再操作就ok了。

unidac使用演示

unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,grids,dbgrids,db,dbaccess,uni,memds,unipro...

關於UNIDAC連線SQLITE3的心得筆記

關於查詢某個sqlite3db的所有表單的語句 uniquery1.sql.add select from sqlite master 關於unidac提交資料 在提交資料之前,必須先允許edit,否則提交的時候會失敗。uniquery1.edit 此處的fieldlist i 是指資料所在行的第i...

unidac巨集替換使用

對於query一類的sql查詢控制項來說,macro巨集替換功能真是乙個好東西。比如,您可以設定乙個叫ztname的巨集來代表當前帳套名稱,這樣所有需要新增帳套where條件的地方,都可以使用這個巨集來代替。其實不僅unidac提供了巨集替換的功能,就算是十年以前的rxlib系列控制項,也已經提供了...