最近要在 DelphiXE2 上使用 sqlite ,在下载 sqlitewrapper16 使用中发现,一般UTF8中文的查询与显示都没问题,但当使用Param参数是中文内容时查询时就总提示查询出错。如果不使用参数查询,而是直接将内容写在sql里,就会有sql注入危险了。
后来在网上收集了不少文件,汇集出这个版本,能正常在 DelphiXE2 等支持 Unicode 的环境下,正常使用UTF-8中文查询与显示,并能支持中文的参数方式查询。
var
m_slDb: TsqliteDatabase;
ssql:string;
m_slDb:= TsqliteDatabase.Create('c:\db.db3');
ssql := 'update sTable set sName=:sName where sId=:sId';
m_slDb.ParamsClear;
m_slDb.Start('');
m_slDb.AddParamText(':sName',Edit1.Text);
m_slDb.AddParamText(':sId',Edit2.Text);
m_slDb.Execsql(ssql);
m_slDb.Commit('');