C#封装的Sqlite访问类实例

yizhihongxing

下面是详细讲解“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日

相关文章

  • asp.net 网页编码自动识别代码

    对于ASP.NET网页开发人员而言,编码处理常常是一件比较麻烦的事情。如果网页在文件保存或传输时使用错误的编码,那么页面上就会出现乱码和其他各种奇怪的字符。为了解决这个问题,ASP.NET提供了一个自动识别编码的机制。 1. 准备工作 首先在ASP.NET项目中添加以下代码段: <%@ Page language="c#" Auto…

    C# 2023年5月31日
    00
  • c# 几个常见的TAP异步操作

    关于C#中常见的TAP异步操作,我们可以分为如下几个方面进行详细讲解: 1. TAP(Task-based Asynchronous Pattern)异步操作 TAP即Task-based Asynchronous Pattern,是一种处理异步操作的方法模式,它可以方便地将异步操作以任务(Task)的形式进行组织和管理。一般地,TAP异步操作包含以下几个步…

    C# 2023年6月6日
    00
  • Unity3D使用右键菜单打开工程

    使用右键菜单打开Unity3D工程是一种非常方便的方式,能够节省我们在寻找项目文件夹的时间。在下面的攻略中,我们将详细讲解如何使用右键菜单打开Unity3D工程。 步骤一:创建.reg文件 首先,在您的桌面或其他位置创建一个新的文本文件。为了方便,我们可以将其命名为“Open with Unity.reg”。 然后,将下面的代码粘贴到新建的文本文件中: Wi…

    C# 2023年6月3日
    00
  • 将Datatable转化成json发送前台实现思路

    将Datatable转化成json并发送到前端页面,通常可以分为以下几个步骤: 引入必要的库文件 在使用Datatable转化成json时,需要使用到jQuery库和Datatable插件,所以需要在页面中引入这两个文件。 <!– 引入jQuery库 –> <script src="https://cdn.bootcss.co…

    C# 2023年5月31日
    00
  • asp.net下利用JS实现对后台CS代码的调用方法

    要在ASP.NET中利用JS实现对后台C#代码的调用方式,有以下几种常用的方法: 1.利用AJAX进行异步调用 可以利用AJAX技术向服务器发送异步请求,进行后台代码的调用,并将返回的数据进行处理,将结果展示给用户。主要实现方法如下: JavaScript代码: function getResult(){ $.ajax({ type: "POST&…

    C# 2023年5月31日
    00
  • 你了解C#的协变和逆变吗,看完这篇就懂了

    C#的协变和逆变是在面向对象里面的类型系统中的概念。在C# 2.0之前,这两个概念是不存在的,开发者只能通过强制类型转换来满足某些需求。在C# 2.0之后,引入了这两个概念,通过它们可以更加安全地进行类型转换,同时也提升了代码的可读性。 一、协变: 协变指的是能够将一个派生类的变量赋值给基类的变量,或者能够将一个方法的返回值类型声明为基类的类型。它的形态如下…

    C# 2023年5月15日
    00
  • .NET中常见的加解密算法详解

    .NET中常见的加解密算法详解 简介 在计算机系统中,加密算法是保证数据安全和隐私保护的重要手段。在.NET开发中,常使用的加解密算法有对称加密算法、非对称加密算法和哈希加密算法。 对称加密算法 对称加密算法使用相同的密钥来加密和解密数据。在.NET中,常见的对称加密算法有DES、TripleDES、AES等。其中,AES是目前最常用的对称加密算法,它支持1…

    C# 2023年5月31日
    00
  • C#中Span相关的性能优化建议

    标题:C#中Span相关的性能优化建议 简介 Span是C#中新增的一种类型,它能够提升数组和字符串的性能表现。下面将给出几个优化建议,帮助开发者正确使用Span。 优化建议 使用Span替换数组 数组是一种引用类型,存放在堆中,而且会由垃圾回收器回收。这个过程比较耗时,所以使用数组可能会降低程序的性能。使用Span可以很好地解决这个问题。 示例: // 使…

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