|
|
导航: |
论坛 -> 数据库专区
斑竹:liumazi,waterstone |
|
作者: |
|
2008/12/3 22:33:28 |
标题: |
|
加入我的收藏 |
楼主: |
前提:数据以ANSI保存的。不是UTF8.因为在GRID中修改UTF8的数据,保存会是乱码。
最近在用Sqlite编程时,遇到一个问题,在使用模糊查询时出来结果不对。 例: 'select * from employee where name like "陈%"' 结果是 其它姓的人员也在里面,而有些姓陈的确没有查询出来。
找了好些版本的sqlite3.dll都不行,从3.5.7-3.6.6都不行。后面找到了一个3.2.1却可以支持。哈哈。奇怪,这样的问题怎么在高版本反而不支持了。 有能力的人修改一份新的版本,或是联系到SQLITE作者修改。
----------------------------------------------
- |
作者: |
|
2008/12/4 9:28:34 |
1楼: |
虽然你程序是ansi的,但sqlite是utf8保存的,所以你的sql语句都要转成utf8.
ASQry.SQL.Text:=AnsiToUTF8('select ……'); //insert和update都要这样处理 ASQry.ExecSQL;
----------------------------------------------
-
|
作者: |
|
2008/12/4 10:27:55 |
2楼: |
因为是要在GRID中修改数据,所以使用Asqlite的updatesql来更新数据的。没办法转换为UTF8.
Asqlite有两种连接方式 ANSI与UTF8,选择了UTF8之后,就不能直接在GRID中修改中文数据,让它自动保存。
----------------------------------------------
-
|
作者: |
drroc (mvcxe) |
★☆☆☆☆ |
-
|
盒子活跃会员 |
|
2009/2/25 11:28:26 |
3楼: |
麻烦楼主发一个3.2.1的给我吧,已发邮件问你要了
----------------------------------------------
MVCXE中国首个DELPHI MVC WEB框架:https://www.mvcxe.com/
|
|