C#操作SQLite数据库方法小结(创建,连接,插入,查询,删除等)

C#操作SQLite数据库方法小结

创建数据库

要创建一个SQLite数据库,我们需要使用System.Data.SQLite.Core库中的SQLiteConnection类。例如,要创建一个名为“myDatabase.db”的数据库,可以使用以下代码:

using System.Data.SQLite;

string connectionString = "Data Source=myDatabase.db;Version=3;";
SQLiteConnection.CreateFile("myDatabase.db");

连接到数据库

要连接到SQLite数据库,我们需要使用SQLiteConnection对象。我们需要提供数据库的连接字符串。例如,以下代码连接到名为“myDatabase.db”的数据库:

using System.Data.SQLite;

string connectionString = "Data Source=myDatabase.db;Version=3;";
SQLiteConnection connection = new SQLiteConnection(connectionString);
connection.Open();

插入数据

要将数据插入SQLite数据库,我们需要使用SQLiteCommand对象。例如,以下代码向“users”表中插入一条新记录:

using System.Data.SQLite;

string connectionString = "Data Source=myDatabase.db;Version=3;";
SQLiteConnection connection = new SQLiteConnection(connectionString);
connection.Open();

string sql = "INSERT INTO users (name, age) VALUES ('John Doe', 30);";
SQLiteCommand command = new SQLiteCommand(sql, connection);
command.ExecuteNonQuery();

查询数据

要查询SQLite数据库中的数据,我们需要使用SQLiteCommand对象和SQLiteDataReader对象。例如,以下代码查询“users”表中的所有记录:

using System.Data.SQLite;

string connectionString = "Data Source=myDatabase.db;Version=3;";
SQLiteConnection connection = new SQLiteConnection(connectionString);
connection.Open();

string sql = "SELECT * FROM users;";
SQLiteCommand command = new SQLiteCommand(sql, connection);

SQLiteDataReader reader = command.ExecuteReader();
while (reader.Read())
{
    int id = reader.GetInt32(0);
    string name = reader.GetString(1);
    int age = reader.GetInt32(2);
    Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
}

删除数据

要从SQLite数据库中删除数据,我们需要使用SQLiteCommand对象。例如,以下代码删除名为“John Doe”的记录:

using System.Data.SQLite;

string connectionString = "Data Source=myDatabase.db;Version=3;";
SQLiteConnection connection = new SQLiteConnection(connectionString);
connection.Open();

string sql = "DELETE FROM users WHERE name = 'John Doe';";
SQLiteCommand command = new SQLiteCommand(sql, connection);
command.ExecuteNonQuery();

示例

示例一

下面是一个完整的示例,演示如何创建一个名为“myDatabase.db”的数据库,以及向“users”表中插入一些记录,并查询它们。

using System;
using System.Data.SQLite;

namespace SQLiteDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            string connectionString = "Data Source=myDatabase.db;Version=3;";
            SQLiteConnection.CreateFile("myDatabase.db");

            using (SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                connection.Open();

                string createTableSql = "CREATE TABLE users (id INTEGER PRIMARY KEY, name VARCHAR(50), age INTEGER);";
                SQLiteCommand createTableCommand = new SQLiteCommand(createTableSql, connection);
                createTableCommand.ExecuteNonQuery();

                string insertSql = "INSERT INTO users (name, age) VALUES ('John Doe', 30);";
                SQLiteCommand insertCommand = new SQLiteCommand(insertSql, connection);
                insertCommand.ExecuteNonQuery();

                insertSql = "INSERT INTO users (name, age) VALUES ('Jane Doe', 25);";
                insertCommand = new SQLiteCommand(insertSql, connection);
                insertCommand.ExecuteNonQuery();

                string selectSql = "SELECT * FROM users;";
                SQLiteCommand selectCommand = new SQLiteCommand(selectSql, connection);

                SQLiteDataReader reader = selectCommand.ExecuteReader();
                while (reader.Read())
                {
                    int id = reader.GetInt32(0);
                    string name = reader.GetString(1);
                    int age = reader.GetInt32(2);
                    Console.WriteLine("ID: {0}, Name: {1}, Age: {2}", id, name, age);
                }
            }
        }
    }
}

示例二

下面是一个示例,演示如何从SQLite数据库中删除记录。

using System.Data.SQLite;

string connectionString = "Data Source=myDatabase.db;Version=3;";
SQLiteConnection connection = new SQLiteConnection(connectionString);
connection.Open();

string sql = "DELETE FROM users WHERE name = 'John Doe';";
SQLiteCommand command = new SQLiteCommand(sql, connection);
command.ExecuteNonQuery();

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#操作SQLite数据库方法小结(创建,连接,插入,查询,删除等) - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • C#中的lock、Monitor、Mutex学习笔记

    C#中的Lock、Monitor、Mutex学习笔记 前言 在多线程并发编程中,由于多线程同时执行,并且对共享资源进行访问时需要考虑线程安全,保证线程的执行顺序或者互斥访问,C#提供了三种方式来处理线程同步问题:Lock、Monitor、Mutex。 在本篇学习笔记中,我们将对这三种方式进行全面的讲解。 Lock Lock是一种轻量级的同步方式,它是由.NE…

    C# 2023年6月1日
    00
  • c# 多线程处理多个数据的方法

    在C#中,多线程处理多个数据是一种常见的需求,本文将详细介绍如何使用C#实现多线程处理多个数据的方法,包括代码实现和注意事项等。 方法一:使用Task类 在C#中,我们可以使用Task类来实现多线程处理多个数据。以下是一个简单的示例代码: using System; using System.Threading.Tasks; class Program { …

    C# 2023年5月15日
    00
  • Global.cs中自动获取未处理的异常

    首先,我们需要了解.NET框架的全局异常处理机制。在.NET中,我们可以通过捕获未处理的异常来处理程序运行时的错误,以便更好地改善用户体验。而要实现这一机制,我们可以利用Global.cs文件来自动获取未处理的异常。 具体实现方式如下: 在Global.cs文件中重写Application_Error方法。在这个方法中,我们可以用try-catch语句捕获未…

    C# 2023年5月15日
    00
  • 一文详解C#中重写(override)及覆盖(new)的区别

    一文详解C#中重写(override)及覆盖(new)的区别 背景 在C#中,类成员的重写和覆盖是比较常见的概念,但很多人容易混淆二者的区别。本文将详细解释重写和覆盖的概念,并提供示例代码进行解释。 重写(override) 重写表明一个子类的方法将重写基类的方法。必须在子类中使用与父类相同的方法名称、返回类型和参数列表,才能重写基类的方法。子类的方法的访问…

    C# 2023年5月31日
    00
  • C#逐行读取txt文件的方法

    当我们需要读取文本文件内容时,可以使用C#内置的System.IO命名空间中的StreamReader类。 以下是逐行读取txt文件并输出内容的代码示例: using System.IO; // 读取文件路径 string filePath = "example.txt"; // 判断文件是否存在 if (File.Exists(file…

    C# 2023年6月1日
    00
  • C#固定大小缓冲区及使用指针复制数据详解

    C#固定大小缓冲区及使用指针复制数据详解 什么是固定大小缓冲区? C#中引入了一种特殊的数据类型,即固定大小缓冲区。它是一段连续的、固定大小的内存空间,可以被用于存储临时数据、计算中间值、复制数据等多种操作。 关于固定大小缓冲区的定义,可以使用fixed关键字: fixed (byte* pBuffer = myBuffer) { // 在此区域中,pBuf…

    C# 2023年6月8日
    00
  • C#实现单例模式的多种方式

    C#实现单例模式的多种方式 单例模式是设计模式中的一种,指的是创建一个类的实例后,该类只允许创建一个实例,并且提供一个访问该实例的全局访问点。在很多场景下,单例模式被广泛使用,比如线程池、缓存、配置文件等等。 在C#中实现单例模式的方式比较多,下面就介绍一些常见的实现方式,分别是:懒汉式、饿汉式、静态构造器、枚举实现、双重锁定以及 .NET 4.0+ 中新增…

    C# 2023年6月6日
    00
  • C#备忘录模式(Memento Pattern)实例教程

    C#备忘录模式(Memento Pattern)实例教程 备忘录模式(Memento Pattern)是一种行为型设计模式,它允许将一个对象的内部状态保存到一个外部的备忘录对象中,从而可以在需要时将对象恢复到先前的状态。在本篇教程中,我们将介绍C#中备忘录模式的使用方法和实现步骤,并提供两个示例说明。 示例一:备忘录模式的基本使用 步骤一:创建备忘录类 首先…

    C# 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部