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