`
hzy3774
  • 浏览: 992973 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

C#使用System.Data.SQLite操作SQLite

 
阅读更多

使用System.Data.SQLite
下载地址:
http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

得到System.Data.SQLite.dll添加到工程引用;


 建表,插入操作

static void Main(string[] args)
        {
            SQLiteConnection conn = null;

            string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db";
            conn = new SQLiteConnection(dbPath);//创建数据库实例,指定文件位置
            conn.Open();//打开数据库,若文件不存在会自动创建

            string sql = "CREATE TABLE IF NOT EXISTS student(id integer, name varchar(20), sex varchar(2));";//建表语句
            SQLiteCommand cmdCreateTable = new SQLiteCommand(sql, conn);
            cmdCreateTable.ExecuteNonQuery();//如果表不存在,创建数据表

            SQLiteCommand cmdInsert = new SQLiteCommand(conn);
            cmdInsert.CommandText = "INSERT INTO student VALUES(1, '小红', '男')";//插入几条数据
            cmdInsert.ExecuteNonQuery();
            cmdInsert.CommandText = "INSERT INTO student VALUES(2, '小李', '女')";
            cmdInsert.ExecuteNonQuery();
            cmdInsert.CommandText = "INSERT INTO student VALUES(3, '小明', '男')";
            cmdInsert.ExecuteNonQuery();

            conn.Close();
        }

 

 可以使用SQLite Database Browser来查看数据:

下载地址:http://sourceforge.net/projects/sqlitebrowser/

 



 

 建表成功。

当然这种方法插入数据效率不高,数据量大的话要使用下面这种方法:

 static void Main(string[] args)
        {
            string dbPath = Environment.CurrentDirectory + "/test.db";//指定数据库路径
            
            using(SQLiteConnection conn = new SQLiteConnection("Data Source =" + dbPath))//创建连接
            {
                conn.Open();//打开连接
                using(SQLiteTransaction tran = conn.BeginTransaction())//实例化一个事务
                {
                    for (int i = 0; i < 100000; i++ )
                    {
                        SQLiteCommand cmd = new SQLiteCommand(conn);//实例化SQL命令
                        cmd.Transaction = tran;
                        cmd.CommandText = "insert into student values(@id, @name, @sex)";//设置带参SQL语句
                        cmd.Parameters.AddRange(new[] {//添加参数
                            new SQLiteParameter("@id", i),
                            new SQLiteParameter("@name", "中国人"),
                            new SQLiteParameter("@sex", "男")
                        });
                        cmd.ExecuteNonQuery();//执行查询
                    }
                    tran.Commit();//提交
                }
            }
        }

 

插入这样的十万条数据只需要5秒左右。

 

读取数据:

 

static void Main(string[] args)
        {
            SQLiteConnection conn = null;

            string dbPath = "Data Source =" + Environment.CurrentDirectory + "/test.db";
            conn = new SQLiteConnection(dbPath);//创建数据库实例,指定文件位置
            conn.Open();//打开数据库,若文件不存在会自动创建

            string sql = "select * from student";
            SQLiteCommand cmdQ = new SQLiteCommand(sql, conn);

            SQLiteDataReader reader = cmdQ.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine(reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetString(2));
            }
            conn.Close();

            Console.ReadKey();
        }

 

 

 数据读取成功

 

 

  • 大小: 17.2 KB
  • 大小: 51.6 KB
  • 大小: 26.9 KB
  • 大小: 12.3 KB
分享到:
评论

相关推荐

    System.Data.SQLite.DLL C# 读写sqlite数据库

    在 C# 中使用 System.Data.SQLite.DLL,首先需要将其添加为项目引用。你可以通过 NuGet 包管理器安装,搜索 "System.Data.SQLite" 并按照提示进行安装。安装后,该 DLL 文件会被自动包含到你的项目中,你可以直接...

    System.Data.SQLite.dll(sqlite_1.0.76.0.zip)

    System.Data.SQLite.dll是SQLite在.NET平台上的一个封装库,它为C#和其他.NET语言提供了对SQLite数据库引擎的全面支持。SQLite是一款轻量级、自包含的数据库系统,广泛应用于嵌入式系统和移动应用,因为它不需要单独...

    System.Data.SQLite.dll x64,x86多个版本

    4. LINQ支持:通过System.Data.SQLite.Linq库,开发者可以使用C#或VB.NET的LINQ查询语法来操作SQLite数据库,使得代码更加简洁、可读性强。 5. 支持存储过程:尽管SQLite本身不直接支持存储过程,但System.Data....

    System.Data.SQLite.dll各版本

    System.Data.SQLite.dll是SQLite数据库引擎在.NET环境中的一个封装库,它使得.NET开发者可以方便地在应用程序中使用SQLite数据库。SQLite是一款开源、轻量级、自包含的SQL数据库引擎,适用于各种规模的应用程序,...

    System.Data.SQLite 1.0.112.rar

    System.Data.SQLite.Linq.dll则提供了Language Integrated Query (LINQ)的支持,允许开发人员使用C#或VB.NET的查询表达式语法来编写数据库查询,提高了代码的可读性和可维护性。这使得开发过程更加直观,减少了对SQL...

    System.Data.SQLite-1.0.112

    在实际开发中,使用System.Data.SQLite时,首先需要将对应的DLL文件添加到项目引用中,然后通过创建SQLiteConnection对象并打开连接,可以执行SQL语句来读写数据。同时,为了确保数据库操作的完整性,可以利用...

    System.Data.SQLite-1.0.112.zip

    对于那些需要在这些.NET Framework版本上运行且依赖于特定连接字符串格式的项目,使用“System.Data.SQLite-1.0.112.zip”中的对应版本文件是非常必要的。为了使用这些库,开发者需要根据他们的项目配置选择正确的...

    解决System.Data.SQLite兼容32位和64位问题(无需指定处理器架构)

    未能加载文件或程序集“System.Data.SQLite, Version=XXX, Culture=neutral, PublicKeyToken=XXX”或它的某一个依赖项。试图加载格式不正确的程序。...注意:当前使用的System.Data.SQLite.dll是版本是1.0.86.0

    System.Data.SQLite.dll下载

    System.Data.SQLite.dll 欢迎大家来下载有更多的内容可供下载

    System.Data.SQLite.dll (.net4.0,win64位)

    C#连接sqlite数据库,要添加引用System.Data.SQLite.dll,但是这个引用也分版本号的,在此分享.net4.0版的供大家下载

    System.Data.SQLite 32 & 64 通用 dll

    使用 System.Data.SQLite,你可以轻松地在 .NET 应用程序中执行以下操作: 1. 连接管理:创建 SQLite 数据库连接,通过 Connection 属性进行数据库操作。 2. 命令执行:使用 Command 对象执行 SQL 查询和命令,包括...

    System.Data.SQLite(32、64通用版本)

    现提供一个以资源方式存到System.Data.SQLite.dll中的动态库。在运行中自动释放SQLite.Interop.dll并根据当前运行进程位数进行调用。 支持项目生成时选择为AnyCPU(不受32位系统与64位系统的限制) 已完善为自动检测...

    SQLITE64位(System.Data.SQLite.DLL).zip

    使用System.Data.SQLite.DLL,开发者可以方便地通过ADO.NET接口来访问SQLite数据库,这包括DataTable、DataSet、SqlCommand、SqlDataAdapter等对象。例如,你可以创建一个SqlConnection对象连接到SQLite数据库,使用...

    System.Data.SQLite_System.Data.SQLite_sqlite_

    8. **部署与使用**:System.Data.SQLite的使用通常需要将`System.Data.SQLite.dll`文件与应用程序一起发布。在开发环境中,可以通过NuGet包管理器安装,而在部署环境中,需要确保目标机器上有对应的SQLite运行时环境...

    System.Data.SQLite样例程序

    总的来说,"System.Data.SQLite样例程序"是一个很好的学习资源,它向C#开发者展示了如何在桌面应用中集成SQLite数据库,进行数据管理,并提供了一个完整的解决方案,包括项目结构、数据库操作和用户界面的结合。...

    System.Data.SQLite.dll ;C#(.net)连接SQLite数据库驱动

    QLite操作驱动的dll。下载完成后,新建一个winform项目,在引用中添加[System.Data.SQLite.dll],并在[Form.cs]中添加[using System.Data.SQLite;]

    解决System.Data.SQLite兼容32位和64位问题(无需指定处理器架构和客户机无需vc++ 2005)

    注意:当前使用的System.Data.SQLite.dll是版本是1.0.86.0(for .net framework 2.0) 抱歉,之前发过一个。但那个是有问题的,因为必须要安装vc++ 2005运行时才能用,这次发的这个,SQLite.Interop.dll是静态库,...

    sqlite最新System.Data.Sqlite.dll

    在官网下载的sqlite最新System.Data.Sqlite.dll,如果我们在C#中调用sqlite遇到错误System.BadImageFormatException:“未能加载文件或程序集“System.Data.SQLite, Version=1.0.60.0, Culture=neutral,那么有可能是...

    64位System.Data.SQLite.dll

    System.Data.SQLite.dll是一个针对.NET Framework开发的SQLite数据库引擎的组件,专为64位操作系统设计。SQLite是一个轻量级、自包含的SQL数据库引擎,广泛应用于各种跨平台的应用程序中,因为它无需单独的服务器...

Global site tag (gtag.js) - Google Analytics