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

关于C#操作SQLite数据库方法小结,我可以提供以下攻略:

1. 安装SQLite

在使用SQLite之前,需要先安装SQLite数据库,在Windows上可以从官方网站下载SQLite安装程序进行安装。

2. 创建SQLite数据库

为了进行SQLite数据库的操作,需要使用以下命令创建连接并打开数据库:

SQLiteConnection conn = new SQLiteConnection("Data Source=test.db;Version=3;");
conn.Open();

该命令将会打开test.db数据库,并返回一个SQLiteConnection连接对象。

3. 创建表格

接着,使用以下命令创建表格:

string query = "CREATE TABLE IF NOT EXISTS customers (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, email TEXT);";
SQLiteCommand cmd = new SQLiteCommand(query, conn);
cmd.ExecuteNonQuery();

该命令创建了一个名为"customers"的表格,并包含三个字段:id,name和email。

4. 插入数据

以下命令将向"customers"表格中插入数据:

string query = "INSERT INTO customers (name, email) VALUES (@name, @email)";
SQLiteCommand cmd = new SQLiteCommand(query, conn);
cmd.Parameters.AddWithValue("@name", "John Doe");
cmd.Parameters.AddWithValue("@email", "johndoe@example.com");
cmd.ExecuteNonQuery();

该命令向"customers"表格中插入一条数据,其中"name"列为"John Doe","email"列为"johndoe@example.com"。

5. 查询数据

要查询"customers"表格中所有的数据可以使用以下代码:

string query = "SELECT * FROM customers";
SQLiteCommand cmd = new SQLiteCommand(query, conn);
SQLiteDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    int id = reader.GetInt32(0);
    string name = reader.GetString(1);
    string email = reader.GetString(2);
}

该命令将会返回"customers"表格中所有的数据,包括id,name和email列的数据。

示例说明

以下是两个示例说明:

示例1

在这个例子中,我们将通过创建连接、创建表格、插入数据、查询数据等操作,创建一个简单的"students"表格,并将两个学生信息插入到该表格中:

using System.Data.SQLite;
using System;

namespace SQLiteTest
{
    class Program
    {
        static void Main(string[] args)
        {
            SQLiteConnection conn = new SQLiteConnection("Data Source=students.db;Version=3;");
            conn.Open();

            string query = "CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);";
            SQLiteCommand cmd = new SQLiteCommand(query, conn);
            cmd.ExecuteNonQuery();

            query = "INSERT INTO students (name, age) VALUES (@name, @age)";
            cmd = new SQLiteCommand(query, conn);
            cmd.Parameters.AddWithValue("@name", "Tom");
            cmd.Parameters.AddWithValue("@age", 18);
            cmd.ExecuteNonQuery();

            cmd = new SQLiteCommand(query, conn);
            cmd.Parameters.AddWithValue("@name", "Jessie");
            cmd.Parameters.AddWithValue("@age", 20);
            cmd.ExecuteNonQuery();

            query = "SELECT * FROM students";
            cmd = new SQLiteCommand(query, conn);
            SQLiteDataReader reader = cmd.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);
            }

            conn.Close();
        }
    }
}

示例2

在这个例子中,我们将逐步创建一个可以管理学生信息的控制台应用程序:

using System.Data.SQLite;
using System;

namespace SQLiteTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to Student Management System!");

            string menu = "1. Show all students\n2. Add a student\n3. Exit\nEnter your choice:";
            bool exit = false;

            SQLiteConnection conn = new SQLiteConnection("Data Source=students.db;Version=3;");
            conn.Open();

            string query = "CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER);";
            SQLiteCommand cmd = new SQLiteCommand(query, conn);
            cmd.ExecuteNonQuery();

            while (!exit)
            {
                Console.Write(menu);
                string choice = Console.ReadLine();

                switch (choice)
                {
                    case "1":
                        query = "SELECT * FROM students";
                        cmd = new SQLiteCommand(query, conn);
                        SQLiteDataReader reader = cmd.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);
                        }
                        break;
                    case "2":
                        Console.Write("Enter student name:");
                        string name = Console.ReadLine();
                        Console.Write("Enter student age:");
                        int age = int.Parse(Console.ReadLine());
                        query = "INSERT INTO students (name, age) VALUES (@name, @age)";
                        cmd = new SQLiteCommand(query, conn);
                        cmd.Parameters.AddWithValue("@name", name);
                        cmd.Parameters.AddWithValue("@age", age);
                        cmd.ExecuteNonQuery();
                        break;
                    case "3":
                        exit = true;
                        break;
                    default:
                        Console.WriteLine("Invalid choice! Please enter a valid choice.");
                        break;
                }
            }

            conn.Close();
        }
    }
}

该程序将提供一个菜单,允许用户查看所有已注册的学生并添加新学生。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#操作SQLite数据库方法小结 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • C语言程序设计谭浩强第五版课后答案(第三章习题答案)

    首先,需要明确的是,C语言程序设计谭浩强第五版是一本经典的C语言教材,而里面的习题更是能够帮助我们更加深入地理解C语言的编程思想和应用方法。 在第三章中,谭浩强提出了诸多习题,这些习题包含了C语言程序设计的基本语法、运算符、流程控制等方面的知识点。为了更好地解决这些习题,作者在书的附录中提供了对应的课后答案,帮助我们更好地掌握所学内容。 下面,我将为大家详细…

    C 2023年5月23日
    00
  • C++实现企业职工工资管理系统

    C++实现企业职工工资管理系统 思路概述 企业职工工资管理系统是一个典型的信息管理系统,它主要是通过管理系统对组织内职工的工资情况进行管理。本文将通过C++语言实现该系统,包括职工信息管理和工资管理两个功能模块。 在职工信息管理模块中,我们将定义一个员工类来保存每个员工的基本信息(工号、姓名、性别、年龄)并提供添加、删除、修改、查询和显示所有员工的方法。在工…

    C 2023年5月23日
    00
  • C语言详细实现猜拳游戏流程

    C语言详细实现猜拳游戏流程 游戏规则 猜拳游戏是一款两人对战的游戏,游戏的主要流程如下: 游戏开始时,系统提示玩家输入自己的姓名。 系统随机选择出石头、剪刀、布三个选项之一,并提示玩家进行出拳。 玩家根据自己的想法输入石头、剪刀、布三个选项之一。 系统对出拳进行比较,输出比赛结果:玩家胜利、系统胜利或平局。 系统询问玩家是否继续游戏。 如果玩家选择继续游戏,…

    C 2023年5月23日
    00
  • Gin golang web开发模型绑定实现过程解析

    Gin golang web开发模型绑定实现过程解析 什么是模型绑定 模型绑定是将 HTTP 请求中的参数绑定到程序的结构体字段上,以此来简化数据的处理和代码的编写。在 Gin 中,可通过 c.Bind() 和 c.ShouldBind() 方法来实现模型绑定。 模型绑定的实现过程 模型绑定的实现过程大致如下: 构造结构体。 在 Gin 中,我们需要首先定义…

    C 2023年5月24日
    00
  • C语言版五子棋游戏的实现代码

    下面给出 C 语言版五子棋游戏的实现代码的完整攻略,包括代码实现过程、技术要点和示例说明。 1. 思路梳理 实现五子棋游戏的代码实现思路如下: 创建游戏窗口,并设置窗口大小; 绘制游戏地图(棋盘); 实现鼠标交互功能,即用户点击某个格子时向这个格子上放置相应的棋子; 判断游戏是否结束,即判断某个玩家是否连成了 5 颗棋子; 实现悔棋功能; 实现人机对战功能。…

    C 2023年5月24日
    00
  • MySQL数据库操作DQL正则表达式

    MySQL数据库操作DQL正则表达式可以帮助我们更高效地检索数据库中的数据,本文将详细讲解如何使用正则表达式进行MySQL数据库的数据检索。 什么是正则表达式 正则表达式是一种文本模式,用于匹配字符串中的一部分或整个字符串。它是在很多编程语言中都可用的工具,用于匹配、查找和替换文本。 在MySQL中,可以使用正则表达式进行模糊查询和根据一定的规则来查询数据。…

    C 2023年5月22日
    00
  • C语言实现简单的飞机大战游戏

    C语言实现简单的飞机大战游戏攻略 介绍 飞机大战是一款经典的游戏,玩家需要操控战斗机,击败敌人并获得高分。在本文中,我们将使用C语言实现一个简单的飞机大战游戏,让大家学习如何使用C语言实现一个完整的小游戏。 实现步骤 初始化游戏。在开始游戏之前,需要初始化一些游戏参数,比如窗口大小、背景音乐等。 绘制游戏场景。我们使用图形库(比如graphics.h)来绘制…

    C 2023年5月24日
    00
  • C++实现一个简单的线程池的示例代码

    下面是实现简单线程池的代码攻略。 什么是线程池? 线程池是一种用于管理多线程执行的机制,允许在需要时提供可分配的工作线程集中的线程。使用线程池的好处是可以减少线程的创建和销毁次数,避免线程频繁创建和销毁所带来的开销,也可以避免同时开启大量的线程造成系统资源的过度占用。在实际生产环境中,线程池通常具有限制线程数量、任务队列、线程管理等功能。 C++实现线程池的…

    C 2023年5月24日
    00
合作推广
合作推广
分享本页
返回顶部