1.在使用zeos時發現可以繞過外鍵刪除數據,原來zeos默認沒有打開外鍵功能,必須明確執行這個:
ZConnection1.Connect; ZConnection1.ExecuteDirect('PRAGMA foreign_keys=ON');
感謝網友步驚云提供解決方案!
2.使用zeos ZQuery.filter發現使用like '%aa%'不起作,最后在lazarus官方論壇找到答案,原來lazarus DB like的通配符使用*而不是使用常用的%,*的用法和%一樣。
zquery1.filtered:=false; zquery1.filter:=' Abstract like '+quotedstr('*'+Edit1.text+'*'); zquery1.filtered:=true;
3.zeos SQLite加密的使用方法:
lazarus在linux arm64使用SQLite數據加密的方法
4.如果表使用了中文字段時,中文字段要用雙引號:
ZQuery1.Filtered:=false; ZQuery1.Filter:='"地址"'+' like '+ QuotedStr( '*'+edit1.text+'*' ); ZQuery1.Filtered:=true;
5、如果使用SQLite3,經驗告訴你,最好指定so和db絕對路徑(so和db放執行文件同一目錄)
ZConnection1.LibraryLocation:=ExtractFilePath(Application.ExeName)+'libsqlite3.so'; ZConnection1.Database:=ExtractFilePath(Application.ExeName)+'demo.db3';

浙公網安備 33010602011771號