using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SQLite;
using System.Windows.Forms;
namespace OTSPeriodicTable.OTSPeriodicTableFunction
{
///
/// 用于标准库模块操作SQLlite系统标准库的封装类
///
public class SqlLiteClass
{
#region 相关变量
//系统STD文件路径
static string RunPath = Application.StartupPath;
static string str = "\\Config\\SysData\\";
static string m_ParameterPath = RunPath+ str;
private string m_STDDBPath = m_ParameterPath;
//系统STD文件 数据库名称
private string m_STDDBName = "SySSTDData.db";
//系统STD文件 表名
private const string m_STDTableName = "IncALib";
#endregion
#region SQLLite需要的对象
///
/// 数据库连接定义
///
private SQLiteConnection m_dbConnection;
///
/// 适配器
///
private SQLiteDataAdapter m_dataAdapter;
#endregion
#region 构造函数
///
/// 构造函数
///
public SqlLiteClass()
{
try
{
m_dbConnection = new SQLiteConnection("data source='" + m_STDDBPath + m_STDDBName + "'");
m_dbConnection.Open();
}
catch (Exception ee)
{
string str = ee.ToString();
}
}
public string GetSTDTableName() {
return m_STDTableName;
}
///
/// 构造函数,传入打开数据库的目录及文件名,文件全名
///
///
///
public SqlLiteClass(string in_STDDBPath,string in_STDDBName)
{
m_STDDBPath = in_STDDBPath;
m_STDDBName = in_STDDBName;
try
{
m_dbConnection = new SQLiteConnection("data source='" + m_STDDBPath + m_STDDBName + "'");
m_dbConnection.Open();
}
catch (Exception ee)
{
string str = ee.ToString();
}
}
///
/// 构造函数
///
///
public SqlLiteClass(string connectionString)
{
try
{
m_dbConnection = new SQLiteConnection(connectionString);
m_dbConnection.Open();
}
catch (Exception)
{
}
}
#endregion
#region 封装方法
///
/// 传入SQL语句,从指定的数据库,进行查询,并返回DataTable
///
///
///
public DataTable GetDTFormSysSTDBySQLString(string in_str_sql)
{
DataTable ret_dt = new DataTable();
try
{
m_dataAdapter = new SQLiteDataAdapter(in_str_sql, m_dbConnection);
DataSet ds = new DataSet();
m_dataAdapter.Fill(ds);
ret_dt = ds.Tables[0];
}
catch (Exception ee)
{
string str = ee.ToString();
}
return ret_dt;
}
///
/// 接收指定数据库对象和sql查询语句的方法,返回datatable对象
///
/// 指定数据库对象,比如SySSTDData.db
/// 传入的SQL查询语句
///
public DataTable GetDTFormSysSTDByDBNameAndSQLString(string in_str_conn,string in_str_sql)
{
try
{
m_dbConnection = new SQLiteConnection("data source='" + m_STDDBPath + "\\" + in_str_conn + "'");
m_dbConnection.Open();
}
catch (Exception ee)
{
string str = ee.ToString();
}
DataTable ret_dt = new DataTable();
try
{
m_dataAdapter = new SQLiteDataAdapter(in_str_sql, m_dbConnection);
DataSet ds = new DataSet();
m_dataAdapter.Fill(ds);
ret_dt = ds.Tables[0];
}
catch (Exception ee)
{
string str = ee.ToString();
}
return ret_dt;
}
#endregion
}
}