SQLite Helper類,基於.net c#的SQLite資料庫操作類
SQLite這個精巧的小資料庫,無需安裝軟體,只需要一個System.Data.SQLite.DLL檔案即可操作SQLite資料庫。但是據說功能卻非常強大。
簡介:
SQLite是一個開源資料庫,現在已變得越來越流行,它的體積很小,被廣泛應用於各種不同型別的應用中。SQLite已經是世界上佈署得最廣泛的SQL資料庫引擎,被用在無以計數的桌面電腦應用中,還有消費電子裝置中,如行動電話、掌上電腦和MP3播放器等。SQLite的原始碼就放在公有領域(即WikiPedia的public domain)中。
開始使用:
Sqliteman,windows下最好的sqlite gui客戶端 | sqlite,sqliteman | 7.72M | 2008-8-30 |
Sqliteman,windows... |
SQLite Administrator 0.8.3.2┊是基於資料庫引擎的管理工具┊漢化綠色特別版 | sqlite | 1.68M | 2008-8-29 |
SQLite 是一個基於輕量級資料... |
SQLite,除了access,mysql以外的另外一個輕量級資料庫 |
using System; using System.Collections.Generic; using System.Text; using System.Web; using System.Configuration; using System.Data; using System.Data.SQLite; namespace DAL { public class Sqlite { /// <summary> /// 獲得連線物件 /// </summary> /// <returns></returns> public static SQLiteConnection GetSQLiteConnection() { return new SQLiteConnection("Data Source=" + System.Web.HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["db"].ToString())); } private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, string cmdText, params object[] p) { if (conn.State != ConnectionState.Open) conn.Open(); cmd.Parameters.Clear(); cmd.Connection = conn; cmd.CommandText = cmdText; cmd.CommandType = CommandType.Text; cmd.CommandTimeout = 30; if (p != null) { foreach (object parm in p) cmd.Parameters.AddWithValue(string.Empty, parm); //for (int i = 0; i < p.Length; i++) // cmd.Parameters[i].Value = p[i]; } } public static DataSet ExecuteDataset(string cmdText, params object[] p) { DataSet ds = new DataSet(); SQLiteCommand command = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); SQLiteDataAdapter da = new SQLiteDataAdapter(command); da.Fill(ds); } return ds; } public static DataRow ExecuteDataRow(string cmdText, params object[] p) { DataSet ds = ExecuteDataset(cmdText, p); if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0) return ds.Tables[0].Rows[0]; return null; } /// <summary> /// 返回受影響的行數 /// </summary> /// <param name="cmdText">a</param> /// <param name="commandParameters">傳入的引數</param> /// <returns></returns> public static int ExecuteNonQuery(string cmdText, params object[] p) { SQLiteCommand command = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); return command.ExecuteNonQuery(); } } /// <summary> /// 返回SqlDataReader物件 /// </summary> /// <param name="cmdText"></param> /// <param name="commandParameters">傳入的引數</param> /// <returns></returns> public static SQLiteDataReader ExecuteReader(string cmdText, params object[] p) { SQLiteCommand command = new SQLiteCommand(); SQLiteConnection connection = GetSQLiteConnection(); try { PrepareCommand(command, connection, cmdText, p); SQLiteDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection); return reader; } catch { connection.Close(); throw; } } /// <summary> /// 返回結果集中的第一行第一列,忽略其他行或列 /// </summary> /// <param name="cmdText"></param> /// <param name="commandParameters">傳入的引數</param> /// <returns></returns> public static object ExecuteScalar(string cmdText, params object[] p) { SQLiteCommand cmd = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(cmd, connection, cmdText, p); return cmd.ExecuteScalar(); } } /// <summary> /// 分頁 /// </summary> /// <param name="recordCount"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="cmdText"></param> /// <param name="countText"></param> /// <param name="p"></param> /// <returns></returns> public static DataSet ExecutePager(ref int recordCount, int pageIndex, int pageSize, string cmdText, string countText, params object[] p) { if (recordCount < 0) recordCount = int.Parse(ExecuteScalar(countText, p).ToString()); DataSet ds = new DataSet(); SQLiteCommand command = new SQLiteCommand(); using (SQLiteConnection connection = GetSQLiteConnection()) { PrepareCommand(command, connection, cmdText, p); SQLiteDataAdapter da = new SQLiteDataAdapter(command); da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result"); } return ds; } } } 以上是我根據SqlHelper、OledbHelper類修改而來。
相關文章
- Python 操作 SQLite 資料庫PythonSQLite資料庫
- Python操作SQLite資料庫PythonSQLite資料庫
- C#快速搭建模型資料庫SQLite操作C#模型資料庫SQLite
- sqlite3資料庫操作SQLite資料庫
- .NET關於資料庫操作的類-囊括所有的操作資料庫
- Android 封裝AsyncTask操作Sqlite資料庫Android封裝SQLite資料庫
- 42.QT-QSqlQuery類操作SQLite資料庫(建立、查詢、刪除、修改)詳解QTSQLite資料庫
- SQLite資料庫管理器:SQLPro for SQLite for MacSQLite資料庫Mac
- 高效操控SQLite資料庫,盡在SQLPro for SQLite for MacSQLite資料庫Mac
- SQLPro for SQLite Mac(SQLite資料庫管理工具)SQLiteMac資料庫
- 教你如何用SQLite 實現if not exist 類似功能的操作SQLite
- Python資料庫模組(sqlite3,SQLite3)Python資料庫SQLite
- 資料庫 sqlite3_get_table,sqlite3_free_table資料庫SQLite
- Python連線SQLite資料庫PythonSQLite資料庫
- Android 中使用 SQLite 資料庫AndroidSQLite資料庫
- Andorid SQLite資料庫開發基礎教程(2)SQLite資料庫
- Andorid SQLite資料庫開發基礎教程(1)SQLite資料庫
- Andorid SQLite資料庫開發基礎教程(3)SQLite資料庫
- 七天.NET 8操作SQLite入門到實戰 - SQLite 簡介SQLite
- SQLPro for SQLite mac 2024.10啟用版 SQLite資料庫管理軟體SQLiteMac資料庫
- C#使用sqlite-net搭建簡易的ORMC#SQLiteORM
- php sqlite 建立本地資料庫PHPSQLite資料庫
- Python SQLite資料庫程式設計PythonSQLite資料庫程式設計
- SQLite Expert Professional資料庫開發管理SQLite資料庫
- Native SQLite Manager for mac(SQLite資料庫管理器) 1.26.1簡體中文版SQLiteMac資料庫
- C#連線SQLite的字串C#SQLite字串
- Sqlite—資料型別SQLite資料型別
- Python標準庫14 資料庫 (sqlite3)Python資料庫SQLite
- 在 Android Studio 上除錯資料庫 ( SQLite )Android除錯資料庫SQLite
- Xamarin SQLite教程資料庫訪問與生成SQLite資料庫
- SQLite資料庫損壞及其修復探究SQLite資料庫
- php封裝db 類連線sqlite3PHP封裝SQLite
- Laravel資料庫測試的另一種方案-SQLiteLaravel資料庫SQLite
- ChiselStore:Rust編寫的Raft分散式SQLite資料庫RustRaft分散式SQLite資料庫
- 七天.NET 8操作SQLite入門到實戰 - 第三天SQLite快速入門SQLite
- SQLite3資料庫檔案結構解析SQLite資料庫
- Python中內建資料庫!SQLite使用指南! ⛵Python資料庫SQLite
- sqlite輕量型資料庫的介紹及應用SQLite資料庫
- C++編譯SQLite資料庫以及如何使用加密資料庫SQLCipherC++編譯SQLite資料庫加密