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 } }