在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近一次使用DELPHI做项目是使用DELPHI2009,为了访问本地数据库方便,使用ACCESS数据库,不需要安装驱动,(WINDOWS自带),但是ACCESS数据库的性能确实很糟糕,通过ADO连接,INSERT 1000条数据平均在1.5秒以上。 面前面临一个新的项目,本地数据库是继续用ADO,还是其他,成了一个问题。 近期比较流行的本地数据库是SQLite,想测试下SQLite的性能,和方便程度。 1. DELPHI 和 SQLITE在度娘上提的最多的是通过ASQLite3DB组件进行连接。 http://www.2cto.com/kf/201010/76781.html 这套组件TSQLiteDatabase类和TSQLiteTable类,通过几个DLL访问SQLITE数据,研究发现TSQLiteTable类和DELPHI原生的TDataSet类完全无关,实在太原始了,无法和DELPHI原生的数据库组件连接,使用起来可能会很麻烦。 无意中发现了一个很好的SQLITE工具: D:\TEST\delphixe5Test\sqllite\数据库工具\Personal 3 2. 有人提到可以使用ADO通过ODBC连接, http://blog.csdn.net/zyq5945/article/details/6457741
网上下载了ODBC驱动,见:D:\TEST\delphixe5Test\sqllitetest\odbc,配置好后, procedure TForm1.Button3Click(Sender: TObject); procedure TForm1.FormCreate(Sender: TObject); 运行效果还可以,平均insert 1000条在0.5秒左右,比ACCESS提高了三倍以上。 但是使用ODBC存在一个问题,就是必须安装ODBC驱动,网上没有找到如何将驱动直接打在我自己的程序安装包里,并且有可能存在部分机器上装不上ODBC导致无法连接本地数据库的问题,最后决定放弃ODBC连接。 3. 有人提到可以通过DBEXPRESS进行连接,折腾了半天,一直提示无法找到sqlite3.dll,找了很久也没找到解决方法,放弃。 4. 正在绝望时,看到http://redboy136.blog.163.com/blog/static/10718843220139206951165/ 提到Delphi XE5中的新特性中增加了FireDAC对sqlite的支持。开始研究一下FIREDAC 网上对FIREDAC的介绍不多,还好找到了DELPHI的帮助文件。 测试: D:\TEST\delphixe5Test\sqllitetest\FireDAC procedure TForm1.Button1Click(Sender: TObject);
procedure TForm1.Button2Click(Sender: TObject); INSERT 1000条竟然不到90毫秒,又无须安装驱动。太完美了。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论