초기 커밋.
This commit is contained in:
133
ssgrestserver/request/DBManager.cs
Normal file
133
ssgrestserver/request/DBManager.cs
Normal file
@@ -0,0 +1,133 @@
|
||||
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;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user