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