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; } }