SQLite数据库

一、定义:
SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。

二、为什么要用它:
SQLServer或者MySql等数据库 需要安装单独的服务,我们的项目如果使用这种中大型数据库 那部署程序的时候还必须部署相应的数据库服务。
而SQLite则不需要安装单独的服务,可以直接在项目目录下新建数据库文件,然后程序连接并操作该数据库,部署的时候只要直接部署应用程序就可以,不需要在服务器上安装任何东西。
(可以和winform一起使用做一些小工具)

为了更好的查看SQLite数据库,我们下载一个SQLite管理工具:SQLite Expert
下载地址:https://www.7down.com/soft/4072.html.
或者直接在软件管理中下载:SQLite Expert

三、在C#程序中使用SQLlite的步骤
vs2012 4.5版本(高版本的直接)
1、导入System.Data.SQLite.dll
①把System.Data.SQLite.dll文件放在项目DEBUG目录下
②引用 右键引用,浏览,选中System.Data.SQLite.dll文件导入
③使用时直接引用using System.Data.SQLite;
2、要把创建的数据库放入项目DEBUG目录下
3、连接字符串


//需放在最下面
    
  
//连接字符串
 string conStr = ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;

4、使用
SQLite数据类型、建表和插入数据的语法和SQL大体相同,有部分区别,语法参照文档:
SQLite基本语法参考:

5、SQLiteHelper工具类基本的增删改查

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SQLite;
using System.Data;
using System.Security.Cryptography;

namespace ShiJiuManager
{
    class SQLiteHelper
    {

        //连接字符串
        private static readonly string connString = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
        //增删改
        public static int ExecuteNonQuery(string sql, params SQLiteParameter[] parameters)
        {
            using (SQLiteConnection conn = new SQLiteConnection(connString))
            {
                conn.Open();
                using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                {

                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        //查询单值
        public static object ExecuteScalar(string sql, params SQLiteParameter[] parameters)
        {
            using (SQLiteConnection conn = new SQLiteConnection(connString))
            {
                conn.Open();
                using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(parameters);
                    return cmd.ExecuteScalar();
                }
            }
        }
        //查询多值
        public static DataSet SQLiteDataAdapter(string sql, params SQLiteParameter[] parameters)
        {
            DataSet set = new DataSet();
            using (SQLiteConnection conn = new SQLiteConnection(connString))
            {
                conn.Open();
                using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
                {
                    cmd.Parameters.AddRange(parameters);
                    SQLiteDataAdapter adapter = new SQLiteDataAdapter(cmd);
                    adapter.Fill(set);
                    return set;
                }
            }
        }

        //一行一行查询多值
        public static SQLiteDataReader ExecuteReader(string sql, params SQLiteParameter[] parameters)
        {
            SQLiteConnection conn = new SQLiteConnection(connString);
            conn.Open();
            using (SQLiteCommand cmd = new SQLiteCommand(sql, conn))
            {
                SQLiteDataReader reader = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
                return reader;
            }
        }
    }
}

你可能感兴趣的:(Sql,通用)