using SXLibrary;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
namespace MOKA_Factory_Tools
{
class SQLiteHelper
{
///
/// 新建数据库文件
///
/// 数据库文件路径及名称
/// 新建成功,返回true,否则返回false
static public Boolean NewDbFile(string dbPath)
{
try
{
SQLiteConnection.CreateFile(dbPath);
return true;
}
catch (Exception ex)
{
throw new Exception("Create DB" + dbPath + "fail:" + ex.Message);
}
}
///
/// 创建表
///
/// 指定数据库文件
/// 表名称
static public void NewTable(string dbPath, string tableName,string ColumnMessage)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = "CREATE TABLE " + tableName + ColumnMessage;
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
///
/// mid表插入一行
///
///
///
static public void AddOneLine(string dbPath,object[] param)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = string.Format("insert into mid(bid,number,pid,ctype,version,host,purl,psize,pmd5,status) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')", param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8], param[9]);
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
///
/// roku表插入一行
///
///
///
static public void AddRokuOneLine(string dbPath, object[] param)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = string.Format("insert into rokuCustomer(ordernum,region,brand,oemmodel,supporturl,supportphone,productiondate,remotetype) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}')", param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7]);
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
///
/// whitebalance表插入一行
///
///
///
static public void AddwbOneLine(string dbPath, object[] param)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = string.Format("insert into whitebalance(ordernum,hdmirgain,hdmiggain,hdmibgain,nrgain,nggain,nbgain,lrgain,lggain,lbgain) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}')", param[0], param[1], param[2], param[3], param[4], param[5], param[6], param[7], param[8], param[9]);
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
///
/// dsn表插入一行
///
///
///
static public void AdddsnOneLine(string dbPath, object[] param)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = string.Format("insert into dsn(ordernum,dsn) values('{0}','{1}')", param[0], param[1]);
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
static public void UpdateTime(string dbPath, string bid)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = string.Format("update mid set finish_date=datetime(CURRENT_TIMESTAMP,'localtime') where bid='{0}'",bid);
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
static public void UpdateStatus(string dbPath, string str)
{
SQLiteConnection sqliteConn = new SQLiteConnection("data source=" + dbPath);
if (sqliteConn.State != System.Data.ConnectionState.Open)
{
sqliteConn.Open();
SQLiteCommand cmd = new SQLiteCommand();
cmd.Connection = sqliteConn;
cmd.CommandText = string.Format("update mid set status='{0}'", str);
cmd.ExecuteNonQuery();
}
sqliteConn.Close();
sqliteConn.Dispose();
}
///
/// 使用事务批量插入sn,key行
///
///
///
///
static public bool InsertKeys(string dbPath, List