如果說要使用第三方控制項來鏈結運算元據庫,我想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系列控制項,也已經提供了...