usingSystem;usingSystem.Collections.Generic;usingSystem.Data;usingSystem.Data.SQLite;namespaceEasyEnergy.AppLogicService
{public classAlarmSqliteDbHelp
{public static string ConnSqlLiteDbPath = @"D:\data\test.data";public static stringConnString
{get{return string.Format("Data Source={0}", ConnSqlLiteDbPath);
}
}public static int ExecuteRefId(stringsql)
{
SQLiteConnection connection;
SQLiteTransaction transaction= null;try{
connection= newSQLiteConnection(ConnString);
connection.Open();var command = newSQLiteCommand(connection)
{
CommandText= sql + ";SELECT last_insert_rowid()"};returnConvert.ToInt32(command.ExecuteScalar());
}catch(Exception)
{
transaction.Rollback();throw;
}
}public static int Execute(string sSQL, bool bUseTransaction = false)
{intnum;
SQLiteConnection connection;//if (!bUseTransaction)//{//connection = new SQLiteConnection(ConnString);//connection.Open();//var command = new SQLiteCommand(connection) {//CommandText = sSQL//};//return command.ExecuteNonQuery();//}
SQLiteTransaction transaction = null;try{
connection= newSQLiteConnection(ConnString);
connection.Open();
transaction=connection.BeginTransaction();
num= new SQLiteCommand(connection) { CommandText =sSQL }.ExecuteNonQuery();
transaction.Commit();
}catch(Exception)
{
transaction.Rollback();throw;
}returnnum;
}public static DataTable GetDataTable(stringsSQL)
{var connection = newSQLiteConnection(ConnString);
connection.Open();var command = newSQLiteCommand
{
CommandText=sSQL,
Connection=connection
};var adapter = newSQLiteDataAdapter(command);var dataTable = new DataTable("table");
adapter.Fill(dataTable);returndataTable;
}public static int GetMaxId(string sKeyField, stringsTableName)
{
DataTable dataTable= GetDataTable("select ifnull(max([" + sKeyField + "]),0) as MaxID from [" + sTableName + "]");if ((dataTable != null) && (dataTable.Rows.Count > 0))
{return Convert.ToInt32(dataTable.Rows[0][0].ToString());
}return 0;
}public static object GetSingle(stringsSQL)
{
DataTable dataTable=GetDataTable(sSQL);if ((dataTable != null) && (dataTable.Rows.Count > 0))
{return dataTable.Rows[0][0];
}return null;
}
}
}