SQLite的管理与C#应用
SQLite整个库只是一个文件,它是开源的,相比与MySQL和PostgreSQL来说,它更微型,也具有事务的特征,适用于嵌入式设备,在手机应用上经常用到它。
SQLite单个文件最大支持2TB,读写速度可以跟MySQL媲美,与Access类似但读取速度远快于Access,而且是跨平台的。
对于开源的轻量级关系型数据库来说,SQLite目前无疑是最好的选择。
SQLite的管理和创建库有很多软件:sqlite-tools、SQLiteManager、SQLite Database Browser、Navicat Premium。
后3种是可视化工具,还有官方文档:http://www.sqlite.org/download.html。
生成文件后,就可以用.NET库System.Data.SQLite.dll来操作SQLite了:http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki。
SQLite不支持逻辑判断语句和存储过程,这些只能写在程序代码中,不支持批处理,但可以在程序中用事务替代。
因为SQLite的几个数据操作对象是继承ADO.NET的接口,方法和属性基本一致。
首先得注意的是如果是.NET2.0以上的项目必须在配置文件添加以下配置:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
SQLite不支持远程连接,只能在局域网通过共享来连接,一个最简单的应用示例如下:
string dbPath = @"Data Source=\\172.20.23.70\Users\administrator\Desktop\Share\test.db";
using (SQLiteConnection conn = new SQLiteConnection(dbPath)) //创建数据库实例,指定文件位置
{
conn.Open(); //打开数据库,若文件不存在会自动创建
string sql = "select * from t";
SQLiteCommand cmdQ = new SQLiteCommand(sql, conn);
DataTable dt = new DataTable();
SQLiteDataAdapter da = new SQLiteDataAdapter(cmdQ);
da.Fill(dt);
dataGridView1.DataSource = dt;
}