C#封装的Sqlite访问类实例

下面是详细讲解“C#封装的Sqlite访问类实例”的完整攻略。

一、Sqlite简介

Sqlite是一个轻量级的关系型数据库管理系统,它的特点是轻巧、可嵌入、可移植和高效,在单机或低并发情况下是一个非常好的选择。在C#中,我们可以使用System.Data.Sqlite命名空间提供的Sqlite连接器来访问Sqlite数据库。

二、C#封装的Sqlite访问类

为了方便使用Sqlite,我们可以封装一些工具类来操作Sqlite数据库。下面给出一个C#封装的Sqlite访问类,包含了常用的增删改查等操作。

using System.Data;
using System.Data.SQLite;

/// <summary>
/// Sqlite访问类
/// </summary>
public class SqliteHelper
{
    private SQLiteConnection sqliteConn;

    /// <summary>
    /// 构造函数 
    /// </summary>
    /// <param name="connStr">数据库连接字符串</param>
    public SqliteHelper(string connStr)
    {
        sqliteConn = new SQLiteConnection(connStr);
    }

    /// <summary>
    /// 执行查询sql,返回DataTable
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public DataTable ExecuteQuery(string sql)
    {
        DataTable dt = new DataTable();
        try
        {
            sqliteConn.Open();
            SQLiteCommand cmd = new SQLiteCommand(sql, sqliteConn);
            SQLiteDataAdapter da = new SQLiteDataAdapter(cmd);
            da.Fill(dt);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            sqliteConn.Close();
        }
        return dt;
    }

    /// <summary>
    /// 执行增删改sql,返回受影响的行数
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    public int ExecuteNonQuery(string sql)
    {
        int result = 0;
        try
        {
            sqliteConn.Open();
            SQLiteCommand cmd = new SQLiteCommand(sql, sqliteConn);
            result = cmd.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        finally
        {
            sqliteConn.Close();
        }
        return result;
    }
}

三、示例说明

示例一:查询数据

下面是一个使用该封装类查询数据的示例代码。

string connStr = "Data Source=MyDatabase.sqlite;Version=3;";
SqliteHelper sqliteHelper = new SqliteHelper(connStr);
string sql = "SELECT Id, Name, Age FROM Person WHERE Age>18;";
DataTable dt = sqliteHelper.ExecuteQuery(sql);
foreach (DataRow dr in dt.Rows)
{
    Console.WriteLine(dr["Name"].ToString());
}

在该示例中,我们首先创建一个SqliteHelper对象,然后通过ExecuteQuery方法执行查询,并将返回的结果保存到DataTable中。最后,我们可以通过遍历DataTable来访问查询结果。

示例二:插入数据

下面是一个使用该封装类插入数据的示例代码。

string connStr = "Data Source=MyDatabase.sqlite;Version=3;";
SqliteHelper sqliteHelper = new SqliteHelper(connStr);
string sql = "INSERT INTO Person (Name,Age) VALUES ('张三',18);";
int result = sqliteHelper.ExecuteNonQuery(sql);
Console.WriteLine("受影响的行数:" + result);

在该示例中,我们首先创建一个SqliteHelper对象,然后通过ExecuteNonQuery方法执行插入操作,并输出受影响的行数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#封装的Sqlite访问类实例 - Python技术站

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

相关文章

  • 一起聊聊C++中的特殊成员函数

    下面我将详细讲解一下C++中特殊成员函数的相关知识。 一起聊聊C++中的特殊成员函数 什么是特殊成员函数 在C++中,除了一些普通的成员函数,还有一些被称为特殊成员函数的成员函数。这些特殊成员函数包括: 默认构造函数 拷贝构造函数 移动构造函数 拷贝赋值运算符 移动赋值运算符 析构函数 这些函数被称为特殊成员函数的原因是它们都在特定的情况下被自动调用,无需显…

    C# 2023年6月8日
    00
  • C#下载歌词文件的同步和异步方法

    下面是关于C#下载歌词文件的同步和异步方法的完整攻略: 1. 同步方法: 1.1 首先,我们需要引入System.Net命名空间下的WebClient类。 WebClient类可以实现简单的HTTP协议,我们可以通过它来下载歌词文件。 1.2 接下来,我们可以使用DownloadFile方法实现下载。 DownloadFile方法有两个参数,第一个参数为待下…

    C# 2023年5月31日
    00
  • C#中FormsAuthentication用法实例

    下面是关于“C#中FormsAuthentication用法实例”的完整攻略。 一、什么是FormsAuthentication FormsAuthentication 是 ASP.NET 提供的一种 Forms 身份验证机制,它使用基于 Cookie 的认证方式来验证用户身份。 在使用 FormsAuthentication 时我们需要进行以下几步: 创建…

    C# 2023年6月1日
    00
  • .NET Core中创建和使用NuGet包的示例代码

    .NET Core中创建和使用NuGet包的攻略 NuGet是.NET生态系统中的包管理器,它可以帮助我们轻松地共享和重用代码。在本攻略中,我们将深入讲解如何在.NET Core中创建和使用NuGet包,并提供两个示例说明。 创建NuGet包 以下是创建NuGet包的步骤: 创建一个.NET Core类库项目。 dotnet new classlib -n …

    C# 2023年5月17日
    00
  • Windows Server2012 安装配置DNS服务器方法详解

    下面是关于“Windows Server 2012安装配置DNS服务器方法详解”的完整攻略,包含两个示例。 1. DNS服务器简介 DNS(Domain Name System)是互联网上的一种命名系统,用于将域名转换为IP地址。DNS服务器是运行DNS服务的计算机,它负责将域名解析为IP地址。在Windows Server 2012中,可以使用DNS服务器…

    C# 2023年5月15日
    00
  • C#实现的鼠标钩子

    C#实现鼠标钩子可以用来监视和控制鼠标事件,比如截取特定的鼠标事件、拦截在系统中发生的鼠标消息等。这里提供完整攻略,具体过程如下: 准备工作 在开始实现之前,需要准备以下工作: 安装Visual Studio,该IDE提供C#开发环境。选择安装.NET桌面开发工作负载,并安装所需的组件。 创建一个新的C#控制台应用程序项目。 添加一个引用System.Win…

    C# 2023年6月1日
    00
  • .net三层结构初探分析

    我为您详细讲解“.Net三层结构初探分析”的完整攻略。 什么是“.Net三层结构初探分析”? 在我们开发软件的过程中,为了保证开发的高效性以及软件的易于维护性,我们通常使用三层结构进行开发。所谓三层结构,指的是数据访问层、业务逻辑层以及表现层。这样分层设计的好处是显而易见的,它可以将各个业务之间相互独立,同时也能够方便后期的维护。 在.Net三层结构初探分析…

    C# 2023年5月31日
    00
  • 混合语言编程—C#使用原生的Directx和OpenGL绘图的方法

    概述 混合语言编程指的是使用不同语言编写的程序相互合作,完成视觉效果加强和功能的增强等需求。在本攻略中,我们将介绍如何使用C#语言使用原生的Directx和OpenGL库进行绘图。 必要条件 在开始使用C#语言绘制图形之前,你需要安装.NET Framework 4.5或更高版本。这将为你提供运行时环境和开发工具。同时,要在C#中访问Directx和Open…

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