SQLite帮助类SQlitehelper 实现对SQLite数据的增删改查
public class SQLiteHelper { public const string sConn = "Data Source=" + @"path" ; /// <summary> /// 查询,返回object ,得到查询结果的首行首列的值,若没有首行首列返回NUll /// </summary> /// <param name="sql">查询语句</param> /// <param name="parameters">可选参数</param> /// <returns></returns> public static object ExecuteScalar( string sql, params SQLiteParameter[] parameters) { return ExecuteScalar(sql, CommandType.Text, parameters); } /// <summary> /// 查询,返回object ,执行SQl语句,得到查询结果的首行首列,若没有首行首列返回null /// </summary> /// <param name="sql">查询语句</param> /// <param name="type">如何解释命令字符串</param> /// <param name="parameters">可选的参数</param> /// <returns></returns> public static object ExecuteScalar( string sql, CommandType type, params SQLiteParameter[] parameters) { using (SQLiteConnection conn = new SQLiteConnection(sConn)) { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.CommandType = type; cmd.Parameters.AddRange(parameters); object obj = cmd.ExecuteScalar(); cmd.Parameters.Clear(); return obj; } } /// <summary> /// 执行增、删、改 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameters">可选参数</param> /// <returns>返回int 得到受影响的行数</returns> public static int ExecuteNonQuery( string sql, params SQLiteParameter[] parameters) { return ExecuteNonQuery(sql, CommandType.Text, parameters); } /// <summary> /// 执行增、删、改 /// </summary> /// <param name="sql">sql语句</param> /// <param name="type">如何解释命令字符串</param> /// <param name="parameters">可选参数</param> /// <returns></returns> public static int ExecuteNonQuery( string sql, CommandType type, params SQLiteParameter[] parameters) { using (SQLiteConnection conn = new SQLiteConnection(sConn)) { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.CommandType = type; cmd.Parameters.AddRange(parameters); int num = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); return num; } } /// <summary> /// 断开式查询,查询多个列 /// </summary> /// <param name="sql">sql语句</param> /// <param name="parameters">可选参数</param> /// <returns>返回DataTable类型</returns> public static DataTable ExecuteTable( string sql, params SQLiteParameter[] parameters) { return ExecuteTable(sql, CommandType.Text, parameters); } /// <summary> /// 断开式查询,查询结果可为多个列 /// </summary> /// <param name="sql">sql语句</param> /// <param name="type">如何解释命令字符串</param> /// <param name="parameters">可选参数</param> /// <returns></returns> public static DataTable ExecuteTable( string sql, CommandType type, params SQLiteParameter[] parameters) { SQLiteConnection conn = new SQLiteConnection(sConn); conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); cmd.CommandType = type; cmd.Parameters.AddRange(parameters); SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd); DataSet ds = new DataSet(); sda.Fill(ds); conn.Close(); DataTable dt = ds.Tables[0]; return dt; } } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术