121 lines
4.0 KiB
C#
121 lines
4.0 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.IO;
|
|
using System.Data;
|
|
|
|
using System.Data.SQLite;
|
|
using LFP_Manager.DataStructure;
|
|
using LFP_Manager.Utils;
|
|
|
|
namespace LFP_Manager.Function
|
|
{
|
|
class csHistoryFunction
|
|
{
|
|
#region DB CREATE
|
|
|
|
public static void DbCreate(string mPath)
|
|
{
|
|
string dbFilename = mPath + csDbConstData.DataBase.FileName;
|
|
|
|
if (Directory.Exists(System.IO.Path.GetDirectoryName(dbFilename)) == false)
|
|
Directory.CreateDirectory(System.IO.Path.GetDirectoryName(dbFilename));
|
|
|
|
if (File.Exists(dbFilename) == false)
|
|
// Create database
|
|
SQLiteConnection.CreateFile(dbFilename);
|
|
|
|
// Open database
|
|
string strConn = @"Data Source=" + dbFilename;
|
|
using (var connection = new SQLiteConnection(strConn))
|
|
{
|
|
connection.Open();
|
|
try
|
|
{
|
|
// Create table
|
|
using (SQLiteCommand command = connection.CreateCommand())
|
|
{
|
|
command.CommandText = csDbConstData.DataBase.CreateTable;
|
|
command.ExecuteNonQuery();
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
finally
|
|
{
|
|
connection.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region DB INSERT DATA
|
|
private void IDInsert(DataTable aData, string mPath, string Quary)
|
|
{
|
|
string dbFilename = mPath + csDbConstData.DataBase.FileName;
|
|
|
|
// Open database
|
|
string strConn = @"Data Source=" + dbFilename;
|
|
using (var connection = new SQLiteConnection(strConn))
|
|
{
|
|
connection.Open();
|
|
try
|
|
{
|
|
// Insert data
|
|
using (SQLiteCommand command = connection.CreateCommand())
|
|
{
|
|
//WaitForm.ShowWaitForm();
|
|
|
|
command.CommandText = "BEGIN;"; //명시적 트렌젝션 시작
|
|
command.ExecuteNonQuery();
|
|
|
|
//sSQL = "insert into TrendTable ( TrendStamp, TagName, TagValue) Values ( " + IntToStr(stamp) + "," + name + "," + value + ");";
|
|
//command.CommandText = "INSERT INTO " + csDbConstData.DataBase.TableName + "(id) " + " Values (@id);";
|
|
command.CommandText = Quary;
|
|
SQLiteParameter p = new SQLiteParameter("@id", DbType.String);
|
|
|
|
command.Parameters.Add(p);
|
|
|
|
for (int i = 0; i < aData.Rows.Count; i++)
|
|
{
|
|
p.Value = String.Format("{0}", aData.Rows[i][0].ToString()); // id
|
|
|
|
try
|
|
{
|
|
command.ExecuteNonQuery();
|
|
}
|
|
catch (Exception)
|
|
{
|
|
//MessageBox.Show(e1.ToString() + ":" + i.ToString());
|
|
}
|
|
finally
|
|
{
|
|
//System.Windows.Forms.Application.DoEvents();
|
|
//WaitForm.SetWaitFormDescription(String.Format("{0}//{1}", i, aData.Rows.Count));
|
|
}
|
|
}
|
|
command.CommandText = "COMMIT;"; //명시적 트렌젝션 시작
|
|
command.ExecuteNonQuery();
|
|
|
|
//WaitForm.CloseWaitForm();
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
//MessageBox.Show(e.ToString());
|
|
}
|
|
finally
|
|
{
|
|
connection.Close();
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|