C#操作sqlite数据库
//连接字符串
conn = @"Data Source=E:\sqlite.db";
string sql_table = "SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE '%prod%'";
DataTable dt_tbname = SQLiteHelper.Query(conn, sql_table).Tables[0];
//工具类SQLiteHelper
查看SQLiteHelper
using System; using System.Collections; using System.Data; using System.Data.SQLite; using System.Threading; //using Topshelf.Logging; public class SQLiteHelper { //private static readonly LogWriter logger = HostLogger.Get<SQLiteHelper>(); //public static string connectionString = "Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "\\data\\data.db"; public static string connectionString = @"Data Source=E:\XXX.db"; private static object ExecuteNonQuery_locker = new object(); /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>影响的记录数</returns> public static int ExecuteSql(string SQLString,out string sqlerr_msg) { sqlerr_msg = ""; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection)) { try { connection.Open(); int row = cmd.ExecuteNonQuery(); return row; } catch (System.Data.SQLite.SQLiteException E) { connection.Close(); sqlerr_msg = E.Message; //logger.Error("插入數據異常Service-insert_path_sqlite " + E.Message); //throw new Exception(E.Message); } } } return 0; } /// <summary> /// 执行SQL语句,返回影响的记录数 /// </summary> /// <param name="SQLString">SQL语句</param> /// <returns>影响的记录数</returns> public static int ExecuteSql(string SQLString) { using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { using (SQLiteCommand cmd = new SQLiteCommand(SQLString, connection)) { try { connection.Open(); int row = cmd.ExecuteNonQuery(); return row; } catch (System.Data.SQLite.SQLiteException E) { connection.Close(); throw new Exception(E.Message); } } } return 0; } /// <summary> /// 执行多条SQL语句,实现数据库事务。 /// </summary> /// <param name="SQLStringList">多条SQL语句</param> public static void ExecuteSqlTran(ArrayList SQLStringList) { using (SQLiteConnection conn = new SQLiteConnection(connectionString)) { conn.Open(); SQLiteCommand cmd = new SQLiteCommand(); cmd.Connection = conn; SQLiteTransaction tx = conn.BeginTransaction(); cmd.Transaction = tx; try { for (int n = 0; n < SQLStringList.Count; n++) { string strsql = SQLStringList[n].ToString(); if (strsql.Trim().Length > 1) { cmd.CommandText = strsql; cmd.ExecuteNonQuery(); } } tx.Commit(); } catch (System.Data.SQLite.SQLiteException E) { tx.Rollback(); throw new Exception(E.Message); } } } /// <summary> /// 执行查询语句,返回DataSet /// </summary> /// <param name="SQLString">查询语句</param> /// <returns>DataSet</returns> public static DataSet Query(String conn, string SQLString) { using (SQLiteConnection connection = new SQLiteConnection(conn)) { DataSet ds = new DataSet(); try { connection.Open(); SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection); command.Fill(ds, "ds"); } catch (System.Data.SQLite.SQLiteException ex) { throw new Exception(ex.Message); } return ds; } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器