SqlLiteClass.cs 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Data;
  7. using System.Data.SQLite;
  8. using System.Windows.Forms;
  9. namespace OTSPeriodicTable.OTSPeriodicTableFunction
  10. {
  11. /// <summary>
  12. /// 用于标准库模块操作SQLlite系统标准库的封装类
  13. /// </summary>
  14. public class SqlLiteClass
  15. {
  16. #region 相关变量
  17. //系统STD文件路径
  18. static string RunPath = Application.StartupPath;
  19. static string str = "\\Config\\SysData\\";
  20. static string m_ParameterPath = RunPath+ str;
  21. private string m_STDDBPath = m_ParameterPath;
  22. //系统STD文件 数据库名称
  23. private string m_STDDBName = "SySSTDData.db";
  24. //系统STD文件 表名
  25. private const string m_STDTableName = "IncALib";
  26. #endregion
  27. #region SQLLite需要的对象
  28. /// <summary>
  29. /// 数据库连接定义
  30. /// </summary>
  31. private SQLiteConnection m_dbConnection;
  32. /// <summary>
  33. /// 适配器
  34. /// </summary>
  35. private SQLiteDataAdapter m_dataAdapter;
  36. #endregion
  37. #region 构造函数
  38. /// <summary>
  39. /// 构造函数
  40. /// </summary>
  41. public SqlLiteClass()
  42. {
  43. try
  44. {
  45. m_dbConnection = new SQLiteConnection("data source='" + m_STDDBPath + m_STDDBName + "'");
  46. m_dbConnection.Open();
  47. }
  48. catch (Exception ee)
  49. {
  50. string str = ee.ToString();
  51. }
  52. }
  53. public string GetSTDTableName() {
  54. return m_STDTableName;
  55. }
  56. /// <summary>
  57. /// 构造函数,传入打开数据库的目录及文件名,文件全名
  58. /// </summary>
  59. /// <param name="in_STDDBPath"></param>
  60. /// <param name="in_STDDBName"></param>
  61. public SqlLiteClass(string in_STDDBPath,string in_STDDBName)
  62. {
  63. m_STDDBPath = in_STDDBPath;
  64. m_STDDBName = in_STDDBName;
  65. try
  66. {
  67. m_dbConnection = new SQLiteConnection("data source='" + m_STDDBPath + m_STDDBName + "'");
  68. m_dbConnection.Open();
  69. }
  70. catch (Exception ee)
  71. {
  72. string str = ee.ToString();
  73. }
  74. }
  75. /// <summary>
  76. /// 构造函数
  77. /// </summary>
  78. /// <param name="connectionString"></param>
  79. public SqlLiteClass(string connectionString)
  80. {
  81. try
  82. {
  83. m_dbConnection = new SQLiteConnection(connectionString);
  84. m_dbConnection.Open();
  85. }
  86. catch (Exception)
  87. {
  88. }
  89. }
  90. #endregion
  91. #region 封装方法
  92. /// <summary>
  93. /// 传入SQL语句,从指定的数据库,进行查询,并返回DataTable
  94. /// </summary>
  95. /// <param name="in_str_sql"></param>
  96. /// <returns></returns>
  97. public DataTable GetDTFormSysSTDBySQLString(string in_str_sql)
  98. {
  99. DataTable ret_dt = new DataTable();
  100. try
  101. {
  102. m_dataAdapter = new SQLiteDataAdapter(in_str_sql, m_dbConnection);
  103. DataSet ds = new DataSet();
  104. m_dataAdapter.Fill(ds);
  105. ret_dt = ds.Tables[0];
  106. }
  107. catch (Exception ee)
  108. {
  109. string str = ee.ToString();
  110. }
  111. return ret_dt;
  112. }
  113. /// <summary>
  114. /// 接收指定数据库对象和sql查询语句的方法,返回datatable对象
  115. /// </summary>
  116. /// <param name="in_str_conn">指定数据库对象,比如SySSTDData.db</param>
  117. /// <param name="in_str_sql">传入的SQL查询语句</param>
  118. /// <returns></returns>
  119. public DataTable GetDTFormSysSTDByDBNameAndSQLString(string in_str_conn,string in_str_sql)
  120. {
  121. try
  122. {
  123. m_dbConnection = new SQLiteConnection("data source='" + m_STDDBPath + "\\" + in_str_conn + "'");
  124. m_dbConnection.Open();
  125. }
  126. catch (Exception ee)
  127. {
  128. string str = ee.ToString();
  129. }
  130. DataTable ret_dt = new DataTable();
  131. try
  132. {
  133. m_dataAdapter = new SQLiteDataAdapter(in_str_sql, m_dbConnection);
  134. DataSet ds = new DataSet();
  135. m_dataAdapter.Fill(ds);
  136. ret_dt = ds.Tables[0];
  137. }
  138. catch (Exception ee)
  139. {
  140. string str = ee.ToString();
  141. }
  142. return ret_dt;
  143. }
  144. #endregion
  145. }
  146. }