C# SQLite数据库入门使用说明


本文整理自网络,侵删。

前言

我们在开发应用是经常会需要用到一些数据的存储,存储的方式有多种,使用数据库是一种比较受大家欢迎的方式。但是对于一些小型的应用,如一些移动APP,通常的数据库过于庞大,而轻便的SQLite则能解决这一问题。不但操作方便,而且只需要要一个文件即可,在这里我们来说一说使用C#语言操作SQLite数据库。

一、NuGet引入SQLite库

在VS菜单:工具→NuGet包管理器→管理解决方案的NuGet程序包 打开NuGet解决方案窗口。

搜索 sqlite,选择官方的库安装到指定的项目中。:

提示:System.Data.SQLite 分为 x86 和 x64 版本,这里推荐使用NuGet自动安装。使用 Any CPU 编译的时候,会自动拷贝32位和64位 Interop DLL文件到子目录中。程序运行的时候会根据电脑的运行环境自动选择合适的dll。

二、DBHelper类库

using System.Collections.Generic;
using System.Data;
using System.Data.SQLite;
using System.Configuration;
using System.Data.SqlClient;
//using MySql.Data.MySqlClient;

namespace ConsoleApp5
{
 public class DBHelper
 {
  private readonly static string connStr = ConfigurationManager.ConnectionStrings["Data Source=mesclient.sqlite;Version=3"].ConnectionString;

  //获取 appsetting 设置的值
  //private readonly static string appStr = ConfigurationManager.AppSettings["TestKey"];

  //获取 connection 对象
  public static IDbConnection CreateConnection()
  {
   IDbConnection conn = new SQLiteConnection(connStr);//MySqlConnection //SqlConnection
   conn.Open();
   return conn;
  }

  //执行非查询语句
  public static int ExecuteNonQuery(IDbConnection conn, string sql, Dictionary<string, object> parameters)
  {
   using (IDbCommand cmd = conn.CreateCommand())
   {
    cmd.CommandText = sql;
    foreach (KeyValuePair<string, object> keyValuePair in parameters)
    {
     IDbDataParameter parameter = cmd.CreateParameter();
     parameter.ParameterName = keyValuePair.Key;
     parameter.Value = keyValuePair.Value;
     cmd.Parameters.Add(parameter);
    }
    return cmd.ExecuteNonQuery();
   }
  }

  //执行非查询语句-独立连接
  public static int ExecuteNonQuery(string sql, Dictionary<string, object> parameters)
  {
   using (IDbConnection conn = CreateConnection())
   {
    return ExecuteNonQuery(conn, sql, parameters);
   }
  }

  //查询首行首列
  public static object ExecuteScalar(IDbConnection conn, string sql, Dictionary<string, object> parameters)
  {
   using (IDbCommand cmd = conn.CreateCommand())
   {
    cmd.CommandText = sql;
    foreach (KeyValuePair<string, object> keyValuePair in parameters)
    {
     IDbDataParameter parameter = cmd.CreateParameter();
     parameter.ParameterName = keyValuePair.Key;
     parameter.Value = keyValuePair.Value;
     cmd.Parameters.Add(parameter);
    }
    return cmd.ExecuteScalar();
   }
  }

  //查询首行首列-独立连接
  public static object ExecuteScalar(string sql, Dictionary<string, object> parameters)
  {
   using (IDbConnection conn = CreateConnection())
   {
    return ExecuteScalar(conn, sql, parameters);
   }
  }

  //查询表
  public static DataTable ExecuteQuery(IDbConnection conn, string sql, Dictionary<string, object> parameters)
  {
   DataTable dt = new DataTable();
   using (IDbCommand cmd = conn.CreateCommand())
   {
    cmd.CommandText = sql;
    foreach (KeyValuePair<string, object> keyValuePair in parameters)
    {
     IDbDataParameter parameter = cmd.CreateParameter();
     parameter.ParameterName = keyValuePair.Key;
     parameter.Value = keyValuePair.Value;
     cmd.Parameters.Add(parameter);
    }
    using (IDataReader reader = cmd.ExecuteReader())
    {
     dt.Load(reader);
    }
   }

   return dt;
  }

  //查询表--独立连接
  public static DataTable ExecuteQuery(string sql, Dictionary<string, object> parameters)
  {
   using (IDbConnection conn = CreateConnection())
   {
    return ExecuteQuery(conn, sql, parameters);
   }
  }
 }
}

三、基本使用

阅读剩余部分

相关阅读 >>

c# Sqlite数据库入门使用说明

android中Sqlite数据库知识点总结

详解android数据存储之sqlcipher数据库加密

android中操作Sqlite数据库快速入门教程

Sqlite expert pro5.0如何安装可视化数据库管理软件激活教程

一些很有用的Sqlite命令总结

android数据存储之Sqlite使用

一些很有用的Sqlite命令总结

Sqlite如何迁移到mysql脚本的实例介绍

c#中嵌入Sqlite数据库的简单方法

更多相关阅读请进入《Sqlite》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...