1. 一般情况下Sqliteman差不多属于最方便的sqlite桌面管理工具,因为,他可以直接打开一个sqlite数据库文件进行管理,比较方便。sqlite developer每次都要关联一下文件,才能操作,不过对DDL的操作sqlite developer是最方便完善的,sqliteman alter某一个字段的类型时,会丢失主键(primary key)的声明,这应该是它的一个bug.
2. integer字段,字段类型最好写INTEGER,全部大写的。我用delphi的sqlite simple wrapper的FieldAsInteger读取类型为integer的字段时,总告诉我类型不对,改为INTEGER正常。(后记,还是检查了一下SQLITETable3.pas文件的代码,果然里面判断类型时,直接和大写的匹配,sqlite对字段的类型时大小写都可以的。里面很多地方判断的时候,都只和大写判断,暂时不去修改这个wrapper的代码了,地方太多,先自己按大写的习惯来吧)
Posted in
开发手记 at 08月 22nd, 2009.
No Comments.
sqlite:单机数据库,好处多多,特别适合单机桌面程序保存(复杂)数据用。以前一般都要自己写个数据保存模块,代码量比较巨大。
Sqlite一般是以.dll的形式发布的,然后到处一堆接口函数。aducom (http://www.aducom.com/cms/page.php?2) 有个免费的mysql vcl组件,调用方式模拟ado,习惯按ado方式操作数据库的可以使用。不过,现在下载最新版的需要注册用户(很恶心),还需要激活注册邮箱(非常恶心),下下来以后,虽然是2009年的新版本,但是最高还只支持到Delphi5,delphi7以上,要自己重新制作组件包,操作方法比较复杂,可以参考http://edn.embarcadero.com/article/27717 ,这是个非常详细的解决方案,真要解决的花点时间看绝对没有问题。
其实sqlite左右方便的小型数据库,也没有做太多的封装。另外一个解决方案是,给sqlite.dll写delphi声明。当然不用自己写,A simple Delphi wrapper (http://www.itwriting.com/blog/a-simple-delphi-wrapper-for-sqlite-3)就挺不错的,简单实用。价格便宜量又足。
顺便说一下,sqlite因为是文件型操作,所以,对于批量的操作,最好放到一个事务里面,这样所有操作只有一次文件读写,否则,每一次操作都会读写一次数据,连续插几十条数据,都能感觉到机器卡。
Posted in
开发手记 at 08月 3rd, 2009.
No Comments.