SqliteHelper
using System; using System.Data; using System.Data.SQLite; using System.Windows.Forms; public abstract class SqliteHelper { private static readonly string connectionString = "Data Source=" + AppDomain.CurrentDomain.BaseDirectory + "Data;Password=XXX"; public static int ExecuteNonQuery(string cmdText, params SQLiteParameter[] cmdParms) { SQLiteConnection conn = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); try { PrepareCommand(cmd, conn, cmdText, cmdParms); int val = cmd.ExecuteNonQuery(); cmd.Parameters.Clear(); conn.Close(); return val; } catch { throw new Exception("Database Error"); } } public static SQLiteDataReader ExecuteReader(string cmdText, params SQLiteParameter[] cmdParms) { SQLiteConnection conn = new SQLiteConnection(connectionString); SQLiteCommand cmd = new SQLiteCommand(); try { PrepareCommand(cmd, conn, cmdText, cmdParms); SQLiteDataReader dataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection); cmd.Parameters.Clear(); return dataReader; } catch { throw new Exception("Database Error"); } } public static SQLiteParameter AddParameter(string parameterName, object value) { return new SQLiteParameter(parameterName, value); } private static void PrepareCommand(SQLiteCommand cmd, SQLiteConnection conn, string cmdText, SQLiteParameter[] cmdParms) { if (conn.State != ConnectionState.Open) { conn.Open(); } cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = cmdText; if (cmdParms != null) { foreach (SQLiteParameter parm in cmdParms) { cmd.Parameters.Add(parm); } } } }