Guest User

Untitled

a guest
Oct 7th, 2018
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.16 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Data.SqlClient;
  6. using System.Data;
  7. using System.Windows.Forms;
  8.  
  9. namespace Airport
  10. {
  11. /// <summary>
  12. /// Класс для работы с SQL
  13. /// </summary>
  14. class SQL
  15. {
  16. private string database;
  17. private string user;
  18. private string password;
  19.  
  20. private SqlConnection connection;
  21.  
  22. public SQL()
  23. {
  24. database = "";
  25. user = "";
  26.  
  27. connection = null;
  28. }
  29.  
  30. /// <summary>
  31. /// Конструктор с настройкой соединения
  32. /// </summary>
  33. /// <param name="db">Название базы данных</param>
  34. /// <param name="login">Имя пользователя</param>
  35. /// <param name="pass">Пароль</param>
  36. public SQL(string db, string login, string pass)
  37. {
  38. database = db;
  39. user = login;
  40. password = pass;
  41.  
  42. connection = new SqlConnection(this.connectionString());
  43. }
  44.  
  45. /// <summary>
  46. /// Метод формирующий connectionString
  47. /// </summary>
  48. /// <returns>connectionString</returns>
  49. public string connectionString()
  50. {
  51. return "Data Source=.\\SQLEXPRESS;Initial Catalog=" + database + ";Integrated Security=true;User ID=" + user + ";Password=" + password;
  52. }
  53.  
  54. /// <summary>
  55. /// Метод настраивающий соединение с базой данных
  56. /// </summary>
  57. /// <param name="db">Название базы данных</param>
  58. /// <param name="login">Имя пользователя</param>
  59. /// <param name="pass">Пароль</param>
  60. public void connect(string db, string login, string pass)
  61. {
  62. database = db;
  63. user = login;
  64. password = pass;
  65.  
  66. connection = new SqlConnection(this.connectionString());
  67. }
  68.  
  69. /// <summary>
  70. /// Метод выполняющий запрос на выборку
  71. /// </summary>
  72. /// <param name="query">SQL запрос</param>
  73. /// <returns>Набор данных DataSet</returns>
  74. public DataSet selectQuery(string query)
  75. {
  76. DataSet result = new DataSet();
  77.  
  78. if (connection != null)
  79. {
  80. SqlCommand sqlQuery = new SqlCommand(query, connection);
  81. SqlDataAdapter adapter = new SqlDataAdapter();
  82.  
  83. sqlQuery.CommandType = CommandType.Text;
  84. adapter.SelectCommand = sqlQuery;
  85.  
  86. try
  87. {
  88. connection.Open();
  89. adapter.Fill(result);
  90. }
  91. catch (System.Exception ex)
  92. {
  93. MessageBox.Show("Следующий SQL запрос не был выполнен:\n\n\"" + query + "\"\n\nПричина:\n" + ex.Message, "Ошибка SQL", MessageBoxButtons.OK, MessageBoxIcon.Error);
  94. }
  95. finally
  96. {
  97. connection.Close();
  98. }
  99. }
  100.  
  101. return result;
  102. }
  103.  
  104. /// <summary>
  105. /// Метод получающий DataTable из запроса на выборку
  106. /// </summary>
  107. /// <param name="query">SQL запрос</param>
  108. /// <returns>Таблица</returns>
  109. public DataTable dataTableFromQuery(string query)
  110. {
  111. DataSet queryDS = selectQuery(query);
  112.  
  113. if (queryDS.Tables.Count > 0)
  114. {
  115. return queryDS.Tables[0];
  116. }
  117.  
  118. return null;
  119. }
  120.  
  121. /// <summary>
  122. /// Метод выполняющий запросы на обновление и удаление
  123. /// </summary>
  124. /// <param name="query">SQL запрос</param>
  125. public void nonSelectQuery(string query)
  126. {
  127. if (connection != null)
  128. {
  129. SqlCommand sqlQuery = new SqlCommand(query, connection);
  130. sqlQuery.CommandType = CommandType.Text;
  131.  
  132. try
  133. {
  134. connection.Open();
  135. sqlQuery.ExecuteScalar();
  136. }
  137. catch (System.Exception ex)
  138. {
  139. MessageBox.Show("Следующий SQL запрос не был выполнен:\n\n\"" + query + "\"\n\nПричина:\n" + ex.Message, "Ошибка SQL", MessageBoxButtons.OK, MessageBoxIcon.Error);
  140. }
  141. finally
  142. {
  143. connection.Close();
  144. }
  145. }
  146. }
  147.  
  148. /// <summary>
  149. /// Метод получения коллекции строк SQL запроса из запроса на выборку
  150. /// </summary>
  151. /// <param name="query">SQL запрос</param>
  152. /// <returns>Коллекция строк SQL запроса</returns>
  153. public SQLRowCollection rowsFromQuery(string query)
  154. {
  155. return new SQLRowCollection(selectQuery(query));
  156. }
  157. }
  158. }
Add Comment
Please, Sign In to add comment