SQLite NET

C# 程序中使用 SQLite 数据库

复制代码
using System;
using System.Data;
using System.Data.SQLite;

//C# 使用 SQLite 数据测试程序
public class Program
{
    public static void Main(string[] args)
    {
        using (SQLiteConnection con = new SQLiteConnection("Data Source=c:\\test.db3;Pooling=true;FailIfMissing=false"))
        {
            //打开数据库文件 c:\\test.db3,不存在则创建
            con.Open();

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

                //检查是否存在表 test,不存在则创建
                Boolean testTableExists = false;
                cmd.CommandText = "SELECT * FROM sqlite_master WHERE type='table' and name='test'";
                using(SQLiteDataReader dr = cmd.ExecuteReader())
                {
                    if (dr.Read())
                    {
                        testTableExists = true;
                    }
                }
                if (!testTableExists)
                {
                    cmd.CommandText = "CREATE TABLE [test] (id int, name nvarchar(20))";
                    cmd.ExecuteNonQuery();
                }

                //清空 test 表
                cmd.CommandText = "DELETE FROM [test]";
                cmd.ExecuteNonQuery();

                //插入测试数据
                for (int i = 1; i <= 5; i++)
                {
                    cmd.CommandText = string.Format("INSERT INTO [test] VALUES ({0}, '中文测试')", 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));
                    }
                }
            }
        }

        Console.WriteLine("Press any key to continue...");
        Console.ReadKey();
    }
}

参考:

相关推荐
IvorySQL1 小时前
PostgreSQL 日报|修复截断 zstd 备份检测(10 月 9 日)
数据库·postgresql
刘胡子大叔2 小时前
SQL 脚本的导入顺序
数据库·sql
代码什么用2 小时前
Spring对IoC的实现
数据库·spring
hz567894 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC4 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
程序员Sunday4 小时前
MySQL 为什么使用 B+ 树索引?把范围查询、回表和覆盖索引连起来
数据库·mysql
半杯咖啡半行码5 小时前
Qt开发实战:数据库、MV 模式、QProcess与串口通信全攻略
数据库·qt
小米里的大麦5 小时前
16 MySQL 事务
数据库·mysql
西柚小萌新5 小时前
【LLM&&AI应用开发 八股文】--4.3.Agent智能体(下)
java·开发语言·数据库
邓工说电6 小时前
智慧断路器安全吗?数据加密、离线保护与合规认证全解读
大数据·数据库·人工智能·智能断路器·炜晔科技