134 lines
3.0 KiB
C#
134 lines
3.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.SQLite;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ssgrestserver.request
|
|
{
|
|
class DBManager
|
|
{
|
|
|
|
|
|
#region Singleton
|
|
|
|
private volatile static DBManager mInstance = null;
|
|
|
|
private static object mSingletonLocker = new object();
|
|
|
|
private DBManager()
|
|
{
|
|
|
|
CONNECT_STRING = Program.mainForm.getStartupPath() + @"\ssgCRUD.db";
|
|
DB_SOURCE = $@"Data Source={CONNECT_STRING}";
|
|
|
|
|
|
try
|
|
{
|
|
|
|
using (var conn = new SQLiteConnection(DB_SOURCE))
|
|
{
|
|
int result = 0;
|
|
|
|
conn.Open();
|
|
using (var command = new SQLiteCommand("select count(*) from sqlite_master WHERE Name = 'ssgCRUD'", conn))
|
|
{
|
|
result = Convert.ToInt32(command.ExecuteScalar());
|
|
}
|
|
|
|
|
|
if (result < 1)
|
|
{
|
|
string bufTableBuildQuery = @"create table ssgCRUD (seqGFrameNo TEXT PRIMARY KEY, vriNoticeNo TEXT UNIQUE, payload TEXT)";
|
|
|
|
using (var command = new SQLiteCommand(bufTableBuildQuery, conn))
|
|
{
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
catch (Exception)
|
|
{
|
|
|
|
throw;
|
|
}
|
|
|
|
}
|
|
|
|
string CONNECT_STRING = "";
|
|
string DB_SOURCE = "";
|
|
|
|
public static DBManager getInstance()
|
|
{
|
|
lock (mSingletonLocker)
|
|
{
|
|
if (mInstance == null)
|
|
{
|
|
mInstance = new DBManager();
|
|
}
|
|
}
|
|
|
|
return mInstance;
|
|
}
|
|
#endregion
|
|
|
|
|
|
|
|
public DataSet sendSelectQuery(string query)
|
|
{
|
|
DataSet rtnValue = new DataSet();
|
|
|
|
try
|
|
{
|
|
|
|
using (var adapter = new SQLiteDataAdapter(query, DB_SOURCE))
|
|
{
|
|
adapter.Fill(rtnValue, "rtnTable");
|
|
}
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Program.mainForm.recvLog("SQLQUERY_SELECT", ex.ToString());
|
|
}
|
|
|
|
return rtnValue;
|
|
}
|
|
|
|
public bool sendInsertQuery(string query)
|
|
{
|
|
|
|
try
|
|
{
|
|
|
|
using (var conn = new SQLiteConnection(DB_SOURCE))
|
|
{
|
|
conn.Open();
|
|
using (var command = new SQLiteCommand(query, conn))
|
|
{
|
|
command.ExecuteNonQuery();
|
|
}
|
|
|
|
}
|
|
|
|
return true;
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Program.mainForm.recvLog("SQLQUERY_INSERT", ex.ToString());
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
}
|