SQLiteHelper封裝類
阿新 • • 發佈:2020-10-22
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; }