Original by Zhanshan Dong
/*
* Original by Zhanshan Dong
* A little modified by HACKPRO TM.
* Created: 22/05/2010
* Hour: 10:20 p.m.
*
*/
using System;
using System.Windows.Forms;
using System.Data;
using System.Data.SQLite;
using System.IO;
public class ConnSQLite {
private SQLiteConnection Conn;
private SQLiteCommand Cmd;
private bool isConnect = false;
public ConnSQLite(string dbName, string connection) {
bool hasDBFile = File.Exists(dbName);
if (hasDBFile == true) {
ConnectDB(connection);
Cmd = CreateCMD();
} else {
isConnect = false;
}
}
~ConnSQLite() {
if (isConnect == true) {
Cmd.Dispose();
Conn.Close();
}
}
private void ConnectDB(string connection) {
Conn = new SQLiteConnection(connection);
Conn.Open();
if (Conn.State.ToString() == "Open") {
isConnect = true;
} else {
isConnect = false;
}
}
private SQLiteCommand CreateCMD() {
SQLiteCommand cmd = new SQLiteCommand();
return Conn.CreateCommand();
}
private void disposeCMD(SQLiteCommand cmd) {
cmd.Dispose();
}
public bool IsConnect() {
return isConnect;
}
public void ExecuteNonQuerySQL(string SQL) {
Cmd.CommandText = SQL;
Cmd.ExecuteNonQuery();
}
public SQLiteDataReader ExecuteQuerySQL(string SQL, SQLiteCommand cmd) {
cmd.CommandText = SQL;
return cmd.ExecuteReader();
}
public DataTable RecordSet(string SQL) {
SQLiteDataAdapter da = new SQLiteDataAdapter(SQL, Conn);
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds.Reset();
da.Fill(ds);
dt = ds.Tables[0];
return dt;
}
public double MAXId(string SQL) {
SQLiteCommand cmd = CreateCMD();
SQLiteDataReader dbReader = ExecuteQuerySQL(SQL, cmd);
double rowVal = 0;
if (dbReader.HasRows == true) {
while (dbReader.Read()) {
rowVal = dbReader.GetDouble(0);
}
} else {
rowVal = 0;
}
dbReader.Close();
cmd.Dispose();
return rowVal;
}
public int getRowCount(string SQL) {
SQLiteCommand cmd = CreateCMD();
SQLiteDataReader dbReader = ExecuteQuerySQL(SQL, cmd);
int rowCount = 0;
if (dbReader.HasRows) {
dbReader.Read();
rowCount = dbReader.GetInt32(0);
}
dbReader.Close();
cmd.Dispose();
return rowCount;
}
}