SQLite幫助類SQlitehelper 實現對SQLite數據的增刪改查


 public class SQLiteHelper
    {

        public const string sConn = "Data Source=" + @"path";

        /// <summary>
        /// 查詢,返回object ,得到查詢結果的首行首列的值,若沒有首行首列返回NUll
        /// </summary>
        /// <param name="sql">查詢語句</param>
        /// <param name="parameters">可選參數</param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql, params SQLiteParameter[] parameters)
        {
            return ExecuteScalar(sql, CommandType.Text, parameters);

        }

        /// <summary>
        /// 查詢,返回object  ,執行SQl語句,得到查詢結果的首行首列,若沒有首行首列返回null 
        /// </summary>
        /// <param name="sql">查詢語句</param>
        /// <param name="type">如何解釋命令字符串</param>
        /// <param name="parameters">可選的參數</param>
        /// <returns></returns>
        public static object ExecuteScalar(string sql, CommandType type, params SQLiteParameter[] parameters)
        {
            using (SQLiteConnection conn = new SQLiteConnection(sConn))
            {
                conn.Open();
                SQLiteCommand cmd = new SQLiteCommand(sql, conn);

                cmd.CommandType = type;
                cmd.Parameters.AddRange(parameters);
                object obj = cmd.ExecuteScalar();
                cmd.Parameters.Clear();
                return obj;
            }
        }

      /// <summary>
      /// 執行增、刪、改
      /// </summary>
      /// <param name="sql">sql語句</param>
      /// <param name="parameters">可選參數</param>
      /// <returns>返回int 得到受影響的行數</returns>
        public static int ExecuteNonQuery(string sql, params SQLiteParameter[] parameters)
        {
            return ExecuteNonQuery(sql, CommandType.Text, parameters);
        }
        /// <summary>
        /// 執行增、刪、改
        /// </summary>
        /// <param name="sql">sql語句</param>
        /// <param name="type">如何解釋命令字符串</param>
        /// <param name="parameters">可選參數</param>
        /// <returns></returns>
        public static int ExecuteNonQuery(string sql, CommandType type, params SQLiteParameter[] parameters)
        {
            using (SQLiteConnection conn = new SQLiteConnection(sConn))
            {
                conn.Open();
                SQLiteCommand cmd = new SQLiteCommand(sql, conn);
                cmd.CommandType = type;
                cmd.Parameters.AddRange(parameters);
                int num = cmd.ExecuteNonQuery();
                cmd.Parameters.Clear();
                return num;
            }
        }


        /// <summary>
        /// 斷開式查詢,查詢多個列
        /// </summary>
        /// <param name="sql">sql語句</param>
        /// <param name="parameters">可選參數</param>
        /// <returns>返回DataTable類型</returns>
        public static DataTable ExecuteTable(string sql, params SQLiteParameter[] parameters)
        {
            return ExecuteTable(sql, CommandType.Text, parameters);
        }

        /// <summary>
        /// 斷開式查詢,查詢結果可為多個列
        /// </summary>
        /// <param name="sql">sql語句</param>
        /// <param name="type">如何解釋命令字符串</param>
        /// <param name="parameters">可選參數</param>
        /// <returns></returns>
        public static DataTable ExecuteTable(string sql, CommandType type, params SQLiteParameter[] parameters)
        {
            SQLiteConnection conn = new SQLiteConnection(sConn);
            conn.Open();
            SQLiteCommand cmd = new SQLiteCommand(sql, conn);
            cmd.CommandType = type;
            cmd.Parameters.AddRange(parameters);
            SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd);
            DataSet ds = new DataSet();
            sda.Fill(ds);
            conn.Close();
            DataTable dt = ds.Tables[0];
            return dt;
        }
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM