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類修改而來。
相關文章
- 基於.NET C#的 sqlite 資料庫 ORM 【Easyliter】C#SQLite資料庫ORM
- C# SQLite資料庫 訪問封裝類C#SQLite資料庫封裝
- C# SQLiteHelper類似SqlHelper類實現存取Sqlite資料庫C#SQLite資料庫
- sqlite操作--- oracle資料庫中的資料導進sqliteSQLiteOracle資料庫
- 【Java】操作Sqlite資料庫JavaSQLite資料庫
- Android實用的SQLite資料庫工具類AndroidSQLite資料庫
- C#快速搭建模型資料庫SQLite操作C#模型資料庫SQLite
- 使用sqlite3 模組操作sqlite3資料庫SQLite資料庫
- python用sqlite3模組操作sqlite資料庫PythonSQLite資料庫
- Python操作SQLite資料庫PythonSQLite資料庫
- Python 操作 SQLite 資料庫PythonSQLite資料庫
- sqlite3資料庫操作SQLite資料庫
- C#訪問SQLite資料庫C#SQLite資料庫
- 用Julia 0.51操作sqlite資料庫SQLite資料庫
- iOS——基於模型化的sqlite操作庫CtDB的使用iOS模型SQLite
- .NET關於資料庫操作的類-囊括所有的操作資料庫
- python sqlite3 資料庫操作PythonSQLite資料庫
- C++ 操作sqlite3資料庫C++SQLite資料庫
- 【Python】基於pymysql的資料庫操作類PythonMySql資料庫
- 42.QT-QSqlQuery類操作SQLite資料庫(建立、查詢、刪除、修改)詳解QTSQLite資料庫
- SQLite資料庫管理器:SQLPro for SQLite for MacSQLite資料庫Mac
- sqlite 資料庫的資料字典SQLite資料庫
- Android 封裝AsyncTask操作Sqlite資料庫Android封裝SQLite資料庫
- C#的Access資料庫操作 AccessHelper類C#資料庫
- 讓PDF.NET支援最新的SQLite資料庫SQLite資料庫
- C#:資料庫SQL操作通用類C#資料庫SQL
- SQLPro for SQLite Mac(SQLite資料庫管理工具)SQLiteMac資料庫
- 高效操控SQLite資料庫,盡在SQLPro for SQLite for MacSQLite資料庫Mac
- Quzrtz.net-sqlite 資料庫持久化配置SQLite資料庫持久化
- 教你如何用SQLite 實現if not exist 類似功能的操作SQLite
- [Sqlite] Java使用jdbc連線Sqlite資料庫進行各種資料操作的詳細過程SQLiteJavaJDBC資料庫
- Python資料庫模組(sqlite3,SQLite3)Python資料庫SQLite
- 【Rosion L.X】ASP.NET[C#]的ACCESS資料庫操作類ROSASP.NETC#資料庫
- ASP.NET MongoDB資料庫操作類ASP.NETMongoDB資料庫
- 資料庫 sqlite3_get_table,sqlite3_free_table資料庫SQLite
- C#操作SQLite資料庫時出現“Insufficient parameters supplied to the command”的錯誤C#SQLite資料庫
- android sqlite資料庫 新增資料AndroidSQLite資料庫
- ACCESS資料庫C#操作類(包含事務)資料庫C#