Sqlite在C#中的应用

在 .NET 里面使用 SQLite, 我这里使用的wrapper是 System.Data.SQLite,它只需要一个dll,接口符合ADO.Net 2.0的定义,性能也不错,NHibernate用的也是它,目前支持ADO.NET 3.5了,支持集成在 VS2005 和 VS2008里面,而且支持wince,是个亮点

因为符合ADO.NET的规范,所以使用方式,基本和 SqlClient, OleDb等原生的一致

using System.Data;
using System.Data.SQLite;
//...

using (SQLiteConnection cn = new SQLiteConnection(
    "Data Source=Test.db3;Pooling=true;FailIfMissing=false")
    )

//Pooling设置为true时,SQL连接将从连接池获得,如果没有则新建并添加到连接池中,默认是true。
//FailIfMissing默认为false,如果数据库文件不存在,会自动创建一个新的,若设置为true,将不会创建,而是抛出异常信息。


{
    //在打开数据库时,会判断数据库是否存在,如果不存在,则在当前目录下创建一个
    cn.Open();

    using (SQLiteCommand cmd = new SQLiteCommand())
    {
        cmd.Connection = cn;

        //建立表,如果表已经存在,则报错
        cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";
        cmd.ExecuteNonQuery();

        //插入测试数据
        for (int i = 2; i < 5; i++)
        {
            cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '杜思波技术讨论区域')", i);
            cmd.ExecuteNonQuery();
        }

        for (int i = 5; i < 10; i++)
        {
            cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, 'English Test')", i);
            cmd.ExecuteNonQuery();
        }

        //读取数据
        cmd.CommandText = "SELECT * FROM [test]";
        using (SQLiteDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection))
        {
            while (dr.Read())
            {
                Console.WriteLine("第{0} 条:{1}", dr.GetValue(0), dr.GetString(1));
            }
        }
    }
}

在C#中使用SQLite


1、通过Add References引用SQLite ADO .NET安装目录的bin目录下的System.Data.SQLite.DLL。

2、创建数据库文件:因为始终是个0字节文件,应该利用IO也可以(?!)。

System.Data.SQLite.SQLiteConnection.CreateFile(datasource);
3、连接数据库

System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection(connectionString);
connectionString中包含了数据库的一些配置信息,比如数据库文件,数据库打开的密码等,可以利用System.Data.SQLite.SQLiteConnectionStringBuilder来辅助创建connectionString

4、创建表、读取数据等和Access或MS SQL没多大区别了


            //创建一个数据库文件
            string datasource="h:/test.db";
            System.Data.SQLite.SQLiteConnection.CreateFile(datasource);
            //连接数据库
            System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
            System.Data.SQLite.SQLiteConnectionStringBuilder connstr = new System.Data.SQLite.SQLiteConnectionStringBuilder();
            connstr.DataSource = datasource;
            connstr.Password = "admin";//设置密码,SQLite ADO.NET实现了数据库密码保护
            conn.ConnectionString = connstr.ToString();           
            conn.Open();
            //创建表
            System.Data.SQLite.SQLiteCommand cmd = new System.Data.SQLite.SQLiteCommand();
            string sql = "CREATE TABLE test(username varchar(20),password varchar(20))";
            cmd.CommandText=sql;
            cmd.Connection=conn;
            cmd.ExecuteNonQuery();
            //插入数据
            sql = "INSERT INTO test VALUES('ekinglong','mypassword')";
            cmd.CommandText = sql;
            cmd.ExecuteNonQuery();
            //取出数据
            sql = "SELECT * FROM test";
            cmd.CommandText = sql;
            System.Data.SQLite.SQLiteDataReader reader = cmd.ExecuteReader();
            StringBuilder sb = new StringBuilder();
            while (reader.Read())
            {
                sb.Append("username:").Append(reader.GetString(0)).Append("/n")
                .Append("password:").Append(reader.GetString(1));
            }
            MessageBox.Show(sb.ToString());

 


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Ricekeg/archive/2009/11/03/4763144.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 语言是如何被使用的? SQLite是一种轻量级的关系型数据库管理系统,它被广泛地用于各种平台上,包括C语言。在C语言SQLite提供了简单易用的API来访问数据库SQLite API由大约40个函数组成,可以在程序执行各种各样的数据库操作。 在C语言,使用SQLite是非常方便的。只需要下载SQLite库文件,然后在程序包含相关的头文件,就可以开始使用SQLite API。SQLite API包括创建数据库、查询数据、修改数据等许多功能。其最常用的函数包括 sqlite3_open()、sqlite3_exec()、sqlite3_prepare_v2()、sqlite3_step()、sqlite3_finalize() 等。 使用SQLite API的第一步是打开一个数据库,可以使用 sqlite3_open() 函数来打开一个SQLite数据库文件。一旦数据库被打开,就可以使用 SQLite SQL 来执行各种数据库操作,如创建表、插入数据、查询数据等。这些操作可以使用 sqlite3_exec() 函数来执行。 对于复杂的操作,可以使用 sqlite3_prepare_v2() 和 sqlite3_step() 函数来执行。sqlite3_prepare_v2() 函数用于准备 SQL 语句,而 sqlite3_step() 函数用于执行 SQL 语句并获取结果。最后,可以使用 sqlite3_finalize() 函数来释放资源。 总之,SQLite是一种非常强大而又易于使用的数据库管理系统,在C语言可以很方便地使用它来处理数据。它不仅可以用于开发桌面应用程序,也可以用于移动应用程序和嵌入式系统。 ### 回答2: 语言的用途是什么? SQLite是一种轻量级的关系型数据库管理系统,它可以嵌入到C语言,并被广泛用于各种应用程序的数据存储和管理。SQLite的独立性和可移植性使得它成为最受欢迎的嵌入式数据库之一。 在C语言,使用SQLite可以快速、高效地管理大量数据,包括存储、查询、更新和删除等操作。SQLite还提供了各种功能强大的API,使得开发人员可以轻松地与数据库进行交互,以实现各种复杂的数据操作,例如事务处理、查询优化和数据加密等。 由于SQLite使用纯C语言编写,因此它可以在几乎所有支持C语言的平台上运行,包括Windows、Linux、Unix和Mac OS X等操作系统。此外,SQLite还提供了多语言支持,使得它可以在不同的编程语言使用,例如Python、Java和PHP等。 总之,SQLite在C语言的用途非常广泛,它为开发人员提供了一种高效、可靠且易于使用的数据库管理系统,极大地简化了应用程序的数据处理和管理。 ### 回答3: 语言的作用是什么? SQLite是一种轻量级的关系型数据库管理系统,是一款由C语言编程实现的程序库,无需独立的服务器进程或系统,而是直接读取或写入磁盘上存储的文件。在C语言SQLite扮演了一种存储数据的角色,使得开发者可以很方便地将数据存储在本地文件,不再需要依赖其他的数据库管理系统。 在C语言的开发SQLite减少了对复杂的数据库管理软件的依赖性,同时提升了对数据的处理速度和效率。它使用简单,易于维护,并且可以与其他编程语言相互通信,这意味着它在各种应用程序开发都具有广泛的应用。使用SQLite,开发者可以轻松地创建、读取、更新和删除数据,使得我们可以更加专注于应用程序的逻辑开发。 因此,总的来说,SQLite在C语言的作用主要是为了快速、简单地存储和管理数据,让开发者专注于业务逻辑的开发,提高软件开发的效率和质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值