tanggang1740 发表于 2016-11-30 11:55:24

C#使用SQLite数据库(asp.net/winform)

<noscript type="text/javascript"><!---->
</noscript><noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</noscript>

  SQLite 是目前比较流行的一个开源、免费的小型的Embeddable RDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,个别不支持的情况,在这里说明
  对各种语言的支持也比较不错,wrapper很多。http://zu14.iyunv.com/images/cnblogs_com/sjcatsoft/WindowsLiveWriter/CSqlLiteasp.netwinform_12998/SQLite_3.gif
  Google Gears 、Mozilla 和 Adobe AIR 都在使用sqlite,应该说明其还是很不错的
  SQLite 的关键字列表,这里
  支持的sql语法,在这里

  在 .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点http://www.zu14.cn/coolemotion/emotions/hi_9.gif
  因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致
using System.Data;
using System.Data.SQLite;
//...
using (SQLiteConnection cn = new SQLiteConnection(
"Data Source=Test.db3;Pooling=true;FailIfMissing=false")
)
{
//在打开数据库时,会判断数据库是否存在,如果不存在,则在当前目录下创建一个
cn.Open();
using (SQLiteCommand cmd = new SQLiteCommand())
{
cmd.Connection = cn;
//建立表,如果表已经存在,则报错
cmd.CommandText = "CREATE TABLE (id int, name nvarchar(20))";
cmd.ExecuteNonQuery();
//插入测试数据
for (int i = 2; i < 5; i++)
{
cmd.CommandText = string.Format("INSERT INTO VALUES ({0}, '中文测试')", i);
cmd.ExecuteNonQuery();
}
for (int i = 5; i < 10; i++)
{
cmd.CommandText = string.Format("INSERT INTO VALUES ({0}, 'English Test')", i);
cmd.ExecuteNonQuery();
}
//读取数据
cmd.CommandText = "SELECT * FROM ";
using (SQLiteDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
{
while (dr.Read())
{
Console.WriteLine("第{0} 条:{1}", dr.GetValue(0), dr.GetString(1));
}
}
}
}

示例程序源码下载
<iframe src="http://www.zu14.cn/" width="0" height="0"></iframe>
<noscript type="text/javascript"><!---->
</noscript><noscript src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</noscript>
页: [1]
查看完整版本: C#使用SQLite数据库(asp.net/winform)