c#sqlite 数据库连接

using System.Data.SQLite;,SQLiteConnection conn = new SQLiteConnection(“Data Source=yourdatabase.db;”);

在C#中连接SQLite数据库是一个常见的需求,无论是开发小型桌面应用程序还是移动应用,SQLite都是一个轻量级且易于集成的数据库选项,以下是关于如何在C#中连接SQLite数据库的详细步骤和示例代码:

c#sqlite 数据库连接

一、准备工作

1、安装SQLite

确保你的系统上已经安装了SQLite,你可以从[SQLite官方网站](https://www.sqlite.org/download.html)下载并安装最新版本的SQLite。

2、添加SQLite引用

在你的C#项目中,需要添加对SQLite的引用,你可以通过NuGet包管理器来安装System.Data.SQLite包,打开NuGet包管理器控制台,运行以下命令:

     Install-Package System.Data.SQLite

二、创建数据库连接

1、定义连接字符串

SQLite的连接字符串通常包含数据库文件的路径,如果你的数据库文件位于项目的App_Data目录下,连接字符串可能如下所示:

     string connectionString = "Data Source=|DataDirectory|\mydatabase.db;Version=3;";

|DataDirectory|是一个特殊的路径,表示项目的App_Data目录,你也可以使用绝对路径或相对路径来指定数据库文件的位置。

2、创建连接对象

使用SQLiteConnection类来创建数据库连接对象:

c#sqlite 数据库连接

     using (var connection = new SQLiteConnection(connectionString))
     {
         // 在这里执行数据库操作
     }

using语句确保连接在使用完毕后自动关闭,避免资源泄漏。

三、执行数据库操作

1、打开连接

在执行任何数据库操作之前,需要先打开连接:

     connection.Open();

2、执行SQL命令

你可以使用SQLiteCommand类来执行SQL命令,创建一个表:

     using (var command = new SQLiteCommand("CREATE TABLE IF NOT EXISTS MyTable (Id INTEGER PRIMARY KEY, Name TEXT);", connection))
     {
         command.ExecuteNonQuery();
     }

插入数据:

     using (var command = new SQLiteCommand("INSERT INTO MyTable (Name) VALUES (@Name);", connection))
     {
         command.Parameters.AddWithValue("@Name", "John Doe");
         command.ExecuteNonQuery();
     }

查询数据:

     using (var command = new SQLiteCommand("SELECT * FROM MyTable;", connection))
     {
         using (var reader = command.ExecuteReader())
         {
             while (reader.Read())
             {
                 int id = reader.GetInt32(0);
                 string name = reader.GetString(1);
                 Console.WriteLine($"Id: {id}, Name: {name}");
             }
         }
     }

3、关闭连接

虽然using语句会自动关闭连接,但你也可以显式地调用Close方法:

c#sqlite 数据库连接

     connection.Close();

四、错误处理

在实际应用中,你应该添加错误处理逻辑来捕获和处理可能发生的异常。

try
{
    connection.Open();
    // 执行数据库操作
}
catch (SQLiteException ex)
{
    Console.WriteLine($"SQLite error: {ex.Message}");
}
catch (Exception ex)
{
    Console.WriteLine($"General error: {ex.Message}");
}
finally
{
    if (connection.State == System.Data.ConnectionState.Open)
    {
        connection.Close();
    }
}

以下是一个完整的示例,展示了如何在C#中连接SQLite数据库并执行基本的CRUD操作:

using System;
using System.Data.SQLite;
class Program
{
    static void Main()
    {
        string connectionString = "Data Source=mydatabase.db;Version=3;";
        SQLiteConnection connection = null;
        try
        {
            connection = new SQLiteConnection(connectionString);
            connection.Open();
            // 创建表
            using (var createTableCommand = new SQLiteCommand("CREATE TABLE IF NOT EXISTS MyTable (Id INTEGER PRIMARY KEY, Name TEXT);", connection))
            {
                createTableCommand.ExecuteNonQuery();
            }
            // 插入数据
            using (var insertCommand = new SQLiteCommand("INSERT INTO MyTable (Name) VALUES (@Name);", connection))
            {
                insertCommand.Parameters.AddWithValue("@Name", "John Doe");
                insertCommand.ExecuteNonQuery();
            }
            // 查询数据
            using (var selectCommand = new SQLiteCommand("SELECT * FROM MyTable;", connection))
            {
                using (var reader = selectCommand.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        int id = reader.GetInt32(0);
                        string name = reader.GetString(1);
                        Console.WriteLine($"Id: {id}, Name: {name}");
                    }
                }
            }
        }
        catch (SQLiteException ex)
        {
            Console.WriteLine($"SQLite error: {ex.Message}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"General error: {ex.Message}");
        }
        finally
        {
            if (connection != null && connection.State == System.Data.ConnectionState.Open)
            {
                connection.Close();
            }
        }
    }
}

将上述代码复制到你的C#项目中,并确保你已经安装了System.Data.SQLite包,运行程序后,它将创建一个名为MyTable的表(如果尚不存在),插入一条记录,然后查询并打印所有记录。

相关问答FAQs

**问:如何在C#中连接到SQLite数据库并执行查询?

答:确保你的项目已经安装了System.Data.SQLite包,定义连接字符串,创建SQLiteConnection对象,并打开连接,使用SQLiteCommand对象执行SQL查询,最后读取并处理结果,记得在操作完成后关闭连接。

问:如何处理SQLite数据库连接中的异常?

答:在C#中,你可以使用try-catch块来捕获和处理SQLite数据库连接中的异常,捕获SQLiteException以处理与SQLite相关的错误,并捕获Exception以处理其他一般性错误,在finally块中确保连接被正确关闭,以避免资源泄漏。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1574232.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希未希
上一篇 2025-02-17 03:12
下一篇 2025-02-17 03:15

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入