flyfaraway

云端漫步

导航

VFP中测试SQLite

Posted on 2013-07-12 13:59  flyfaraway  阅读(1094)  评论(0)    收藏  举报

VFP中测试SQLite

由于要做个单机版小程序,考虑使用轻量级数据库。
1、VFP的dbf由于断电坏表问题不想用
2、ACCESS以前用过感觉记录多时速度慢且无事务、无存储过程等也不想用
3、SQLite映入眼帘
实验步骤:
1、下载SQLite Expert Personal 3管理工具,安装
2、建测试数据库cyj3.db,建测试表zd_test,选择UTF-8,新增一些英文记录、中文记录
3、www.ch-werner.de/sqliteodbc/ 下载ODBC驱动sqliteodbc.exe安装
4、测试SPT
nn=SQLSTRINGCONNECT("driver={SQLite3 ODBC Driver};database=e:\sqlite\cyj3.db",.T.)
?SQLEXEC(nn,"select * from zd_test")
*结果:英文正常,中文乱码,设置SPT更新,新增记录,TABLEUPDATE(),再次查询,新增的记录中文内容还是乱码
5、测试CA
CursorFill后,在SQLite Expert新增的中文记录乱码,SPT新增的中文记录乱码,使用CA新增记录,再次CursorFill,CA新增的中文记录正常无乱码
*结果:只有由CA新增记录中文内容是正常无乱码的。使用LIKE '%测试%',天啊,查询不到记录!而WHERE cName='CA新增测试'可查询到记录。
6、后看到有网友说http://www.patthoyts.tk/sqlite3odbc.html的ODBC,同时提供SPT和CA的中文支持,卸载卸载前面安装的ODBC,安装www.patthoyts.tk/sqlite3odbc.html的ODBC
测试SPT和CA,中文都正常无乱码了,测试LIKE '%中文%',依旧查询不到记录。
7、结论:由于SQLite数据库存储时是UTF-8格式,导致一些中文内容不能很好支持。只好放弃了,改天测试下FireBird。

相关网址:
SQLite官网:www.SQLite.org
ODBC1:www.ch-werner.de/sqliteodbc/
ODBC2:www.patthoyts.tk/sqlite3odbc.html (较早版本,更新不及时)
中文社区:http://www.sqlite.com.cn/
vfp如何连接SQLite? http://www.mzvfp.com/read.php?tid=90948