SQLiteHelper

SQLiteHelper 帮助类 [一]

SQLiteHelper 帮助类 [二]

SQLiteHelper 帮助类 [三]

View Code
  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Data.SQLite;//
  6 using System.Data;//
  7 using System.IO;//
  8 using System.Data.Common;//
  9 using System.Configuration;//
 10 
 11 namespace SQLiteHelper
 12 {
 13     public class SQLiteHelper43
 14     {
 15         
 16         #region 参数化查询
 17 
 18         /// <summary>
 19         /// 获得连接对象
 20         /// </summary>
 21         /// <returns></returns>
 22         public static SQLiteConnection GetSQLiteConnection()
 23         {
 24             return new SQLiteConnection("Data Source=" + System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["db"].ToString()));
 25         }
 26 
 27         private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, string cmdText, params object[] p)
 28         {
 29             if (conn.State != ConnectionState.Open)
 30                 conn.Open();
 31             cmd.Parameters.Clear();
 32             cmd.Connection = conn;
 33             cmd.CommandText = cmdText;
 34             cmd.CommandType = CommandType.Text;
 35             cmd.CommandTimeout = 30;
 36             if (p != null)
 37             {
 38                 foreach (object parm in p)
 39                     cmd.Parameters.AddWithValue(string.Empty, parm);
 40                 //for (int i = 0; i < p.Length; i++)
 41                 //    cmd.Parameters[i].Value = p[i];
 42             }
 43         }
 44 
 45         public static DataSet ExecuteDataset(string cmdText, params object[] p)
 46         {
 47             DataSet ds = new DataSet();
 48             SQLiteCommand command = new SQLiteCommand();
 49             using (SQLiteConnection connection = GetSQLiteConnection())
 50             {
 51                 PrepareCommand(command, connection, cmdText, p);
 52                 SQLiteDataAdapter da = new SQLiteDataAdapter(command);
 53                 da.Fill(ds);
 54             }
 55             return ds;
 56         }
 57 
 58         public static DataRow ExecuteDataRow(string cmdText, params object[] p)
 59         {
 60             DataSet ds = ExecuteDataset(cmdText, p);
 61             if (ds != null && ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
 62                 return ds.Tables[0].Rows[0];
 63             return null;
 64         }
 65 
 66         /// <summary>
 67         /// 返回受影响的行数
 68         /// </summary>
 69         /// <param name="cmdText">a</param>
 70         /// <param name="commandParameters">传入的参数</param>
 71         /// <returns></returns>
 72         public static int ExecuteNonQuery(string cmdText, params object[] p)
 73         {
 74             SQLiteCommand command = new SQLiteCommand();
 75             using (SQLiteConnection connection = GetSQLiteConnection())
 76             {
 77                 PrepareCommand(command, connection, cmdText, p);
 78                 return command.ExecuteNonQuery();
 79             }
 80         }
 81 
 82         /// <summary>
 83         /// 返回SqlDataReader对象
 84         /// </summary>
 85         /// <param name="cmdText"></param>
 86         /// <param name="commandParameters">传入的参数</param>
 87         /// <returns></returns>
 88         public static SQLiteDataReader ExecuteReader(string cmdText, params object[] p)
 89         {
 90             SQLiteCommand command = new SQLiteCommand();
 91             SQLiteConnection connection = GetSQLiteConnection();
 92             try
 93             {
 94                 PrepareCommand(command, connection, cmdText, p);
 95                 SQLiteDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
 96                 return reader;
 97             }
 98             catch
 99             {
100                 connection.Close();
101                 throw;
102             }
103         }
104 
105         /// <summary>
106         /// 返回结果集中的第一行第一列,忽略其他行或列
107         /// </summary>
108         /// <param name="cmdText"></param>
109         /// <param name="commandParameters">传入的参数</param>
110         /// <returns></returns>
111         public static object ExecuteScalar(string cmdText, params object[] p)
112         {
113             SQLiteCommand cmd = new SQLiteCommand();
114             using (SQLiteConnection connection = GetSQLiteConnection())
115             {
116                 PrepareCommand(cmd, connection, cmdText, p);
117                 return cmd.ExecuteScalar();
118             }
119         }
120 
121         /// <summary>
122         /// 分页
123         /// </summary>
124         /// <param name="recordCount"></param>
125         /// <param name="pageIndex"></param>
126         /// <param name="pageSize"></param>
127         /// <param name="cmdText"></param>
128         /// <param name="countText"></param>
129         /// <param name="p"></param>
130         /// <returns></returns>
131         public static DataSet ExecutePager(ref int recordCount, int pageIndex, int pageSize, string cmdText, string countText, params object[] p)
132         {
133             if (recordCount < 0)
134                 recordCount = int.Parse(ExecuteScalar(countText, p).ToString());
135             DataSet ds = new DataSet();
136             SQLiteCommand command = new SQLiteCommand();
137             using (SQLiteConnection connection = GetSQLiteConnection())
138             {
139                 PrepareCommand(command, connection, cmdText, p);
140                 SQLiteDataAdapter da = new SQLiteDataAdapter(command);
141                 da.Fill(ds, (pageIndex - 1) * pageSize, pageSize, "result");
142             }
143             return ds;
144         }
145         #endregion
146     }
147 }
原文地址:https://www.cnblogs.com/xyzla/p/2563474.html