1. 程式人生 > 實用技巧 >SQLiteHelper封裝類

SQLiteHelper封裝類

 public  class SQLiteHelper
    {
        private static readonly string conStr = ConfigurationManager.AppSettings["SQLiteDbConn"].ToString()
        /// <summary>
        ///增、刪、改
        /// </summary>
        /// <param name="sql">SQL語句</param>
        /// <param name="pms">SQL引數</param>
/// <returns>受影響的行數</returns> public static int Execute(string sql, params SQLiteParameter[] pms) { using (SQLiteConnection conn = new SQLiteConnection(conStr)) { using (SQLiteCommand cmd = new SQLiteCommand(sql, conn)) {
if (pms != null) { cmd.Parameters.AddRange(pms); } try { conn.Open(); } catch { throw; }
return cmd.ExecuteNonQuery(); } } } /// <summary> /// 查詢單個結果,一般和聚合函式 一起使用 /// </summary> /// <param name="sql">查詢的SQL語句</param> /// <param name="pms">SQL引數</param> /// <returns>返回查詢物件,查詢結果第一行第一列</returns> public static object ExecuteScalar(string sql, params SQLiteParameter[] pms) { using (SQLiteConnection conn = new SQLiteConnection(conStr)) { using (SQLiteCommand cmd = new SQLiteCommand(sql, conn)) { if (pms != null) { cmd.Parameters.AddRange(pms); } try { conn.Open(); } catch { throw; } return cmd.ExecuteScalar(); } } } /// <summary> /// 查詢多行 /// </summary> /// <param name="sql">SQL語句</param> /// <param name="pms">SQL引數</param> /// <returns>返回SqlDataReader物件</returns> public static SQLiteDataReader ExcuteReader(string sql, params SQLiteParameter[] pms) { SQLiteConnection sqliteConn = new SQLiteConnection(conStr); SQLiteCommand cmd = new SQLiteCommand{ Connection = sqliteConn, CommandText = sql }; if (pms != null) cmd.Parameters.AddRange(pms); if (sqliteConn.State != ConnectionState.Open) sqliteConn.Open(); return cmd.ExecuteReader(CommandBehavior.CloseConnection); } }

查詢資料:

public object GetList()
        {
            List<UserLog> Logs = new List<UserLog>();
            string sqlStr = @"select Name from UserLog order by CareteTime desc limit 1";
            return SQLiteHelper.ExecuteScalar(sqlStr, null);
        }
public List<User> GetAll()
        {
            List<User> userlist = new List<User>();
            string sqlStr = @"select Gid,Phone,Name";
            SQLiteDataReader reader =SQLiteHelper.ExcuteReader(sqlStr, null);
            while (reader.Read())
            {
                User  item = new User();
                item.Gid = Guid.Parse(reader[0].ToString());
                item.Phone = reader[1].ToString();
                item.Name = reader[2].ToString();
                userlist.Add(item);
            }
            reader.Close();
            return userlist;
        }
儲存資料
public bool Save(user User) { string sqlStr = @"insert into User(Gid,Phone,Name) values (@Gid,@Phone,@Name)"; SQLiteParameter[] parameters = { new SQLiteParameter("@Gid", user.Gid), new SQLiteParameter("@Phone", user.Phone), new SQLiteParameter("@Name", user.Name), }; return SQLiteHelper.Execute(sqlStr, parameters) > 0; }