Advertisement
Guest User

Untitled

a guest
Jan 19th, 2020
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.91 KB | None | 0 0
  1. using System;
  2. using System.Configuration;
  3. using System.Data;
  4. using System.Data.Common;
  5. using System.Data.SqlClient;
  6.  
  7. namespace lab12
  8. {
  9. class Program
  10. {
  11. private static SqlConnection cn;
  12. private static string connection_string;
  13.  
  14. //private static DataSet dataSet;
  15. private static DataTable dataTable;
  16. private static SqlCommandBuilder cb = new SqlCommandBuilder();
  17. private static SqlDataAdapter dataAdapter;
  18.  
  19. private static void UpdateBound(int carId, string carName, int year)
  20. {
  21. try
  22. {
  23. cn = new SqlConnection(connection_string);
  24. cn.Open();
  25. string sql = string.Format("UPDATE Car SET CarName = @CarName, Year = @Year WHERE CarId = @CarId");
  26. SqlCommand command = new SqlCommand(sql, cn);
  27.  
  28. SqlParameter paramCarName = new SqlParameter();
  29. paramCarName = new SqlParameter();
  30. paramCarName.ParameterName = "@CarName";
  31. paramCarName.Value = carName;
  32. paramCarName.SqlDbType = SqlDbType.Char;
  33. command.Parameters.Add(paramCarName);
  34.  
  35. SqlParameter paramYear = new SqlParameter();
  36. paramYear.ParameterName = "@Year";
  37. paramYear.Value = year;
  38. paramYear.SqlDbType = SqlDbType.Int;
  39. command.Parameters.Add(paramYear);
  40.  
  41. SqlParameter paramCarId = new SqlParameter();
  42. paramCarId.ParameterName = "@CarId";
  43. paramCarId.Value = carId;
  44. paramCarId.SqlDbType = SqlDbType.Int;
  45. command.Parameters.Add(paramCarId);
  46.  
  47. command.ExecuteNonQuery();
  48. cn.Close();
  49. }
  50. catch (SqlException ex)
  51. {
  52. Console.WriteLine(ex.Message);
  53. }
  54. }
  55.  
  56. private static void DeleteBound(int carId)
  57. {
  58. try
  59. {
  60. cn = new SqlConnection(connection_string);
  61. cn.Open();
  62. string sql = string.Format("DELETE FROM Car WHERE CarId = @CarId");
  63. SqlCommand command = new SqlCommand(sql, cn);
  64. SqlParameter param = new SqlParameter();
  65. param.ParameterName = "@CarId";
  66. param.Value = carId;
  67. param.SqlDbType = SqlDbType.Int;
  68. command.Parameters.Add(param);
  69.  
  70. command.ExecuteNonQuery();
  71. cn.Close();
  72. }
  73. catch (SqlException ex)
  74. {
  75. Console.WriteLine(ex.Message);
  76. }
  77. }
  78.  
  79. private static void InsertBound(int carId, string carName, int year)
  80. {
  81. try
  82. {
  83. cn = new SqlConnection(connection_string);
  84. cn.Open();
  85. string sql = string.Format("INSERT Car VALUES (@CarId, @CarName, @Year)");
  86. SqlCommand command = new SqlCommand(sql, cn);
  87.  
  88. SqlParameter paramCarId = new SqlParameter();
  89. paramCarId.ParameterName = "@CarId";
  90. paramCarId.Value = carId;
  91. paramCarId.SqlDbType = SqlDbType.Int;
  92. command.Parameters.Add(paramCarId);
  93.  
  94. SqlParameter paramCarName = new SqlParameter();
  95. paramCarName.ParameterName = "@CarName";
  96. paramCarName.Value = carName;
  97. paramCarName.SqlDbType = SqlDbType.Char;
  98. command.Parameters.Add(paramCarName);
  99.  
  100. SqlParameter paramYear = new SqlParameter();
  101. paramYear.ParameterName = "@Year";
  102. paramYear.Value = year;
  103. paramYear.SqlDbType = SqlDbType.Int;
  104. command.Parameters.Add(paramYear);
  105.  
  106. command.ExecuteNonQuery();
  107. cn.Close();
  108. }
  109. catch (SqlException ex)
  110. {
  111. Console.WriteLine(ex.Message);
  112. }
  113. }
  114.  
  115. private static void SelectBound()
  116. {
  117. try
  118. {
  119. cn = new SqlConnection(connection_string);
  120. cn.Open();
  121. String select = "SELECT * FROM Car";
  122. SqlCommand command = new SqlCommand(select, cn);
  123. SqlDataReader dataReader = command.ExecuteReader();
  124. while (dataReader.Read())
  125. {
  126. Console.WriteLine(dataReader[0] + " " + dataReader[1] + " " + dataReader[2]);
  127. }
  128. dataReader.Close();
  129. cn.Close();
  130. Console.WriteLine();
  131. }
  132. catch (SqlException ex)
  133. {
  134. Console.WriteLine(ex.Message);
  135. }
  136. }
  137.  
  138. //+
  139. private static void StartUnbound()
  140. {
  141. //dataSet = new DataSet();
  142. dataTable = new DataTable();
  143. dataAdapter = new SqlDataAdapter("SELECT * FROM Car", connection_string);
  144. dataAdapter.Fill(dataTable);
  145. DataColumn[] primary_key = new DataColumn[1];
  146. primary_key[0] = dataTable.Columns["CarId"];
  147. dataTable.PrimaryKey = primary_key;
  148. }
  149. //как узнать какие строки отправляются в БД
  150. //для чего нужны INSERT, UPDATE, DELETE (как они используются dataAdapterom)
  151. //настроить эти инструкции в коде
  152.  
  153. //11 лаба пункт 4
  154. private static void EndUnbound()
  155. {
  156. SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
  157. dataAdapter.Update(dataTable);
  158. }
  159.  
  160. //+
  161. private static void SelectUnbound()
  162. {
  163. foreach (DataRow dataRow in dataTable.Rows)
  164. {
  165. if (dataRow.RowState != DataRowState.Deleted)
  166. {
  167. Console.WriteLine(dataRow[0].ToString() + " " + dataRow[1].ToString() + " " + dataRow[2]);
  168. }
  169. }
  170. Console.WriteLine();
  171. }
  172.  
  173. private static void InsertUnbound(int carId, string carName, int year)
  174. {
  175. dataTable.Rows.Add(carId, carName, year);
  176.  
  177. SqlCommand insertCommand = new SqlCommand("INSERT INTO CAR (CarId, CarName, Year) " +
  178. "VALUES (@CarId, @CarName, @Year)", cn);
  179.  
  180. insertCommand.Parameters.Add(new SqlParameter("CarId", carId));
  181. insertCommand.Parameters.Add(new SqlParameter("CarName", carName));
  182. insertCommand.Parameters.Add(new SqlParameter("Year", year));
  183.  
  184. dataAdapter.InsertCommand = insertCommand;
  185.  
  186.  
  187.  
  188. //DataRow dataRow = dataSet.Tables["Car"].NewRow();
  189. //dataRow["CarId"] = carId;
  190. //dataRow["CarName"] = carName;
  191. //dataRow["Year"] = year;
  192. //dataSet.Tables["Car"].Rows.Add(dataRow);
  193. }
  194.  
  195. private static void DeleteUnbound(int carId)
  196. {
  197. DataRow dataRow = null;
  198. dataRow = dataTable.Rows.Find(carId);
  199. int ind = dataTable.Rows.IndexOf(dataRow);
  200. dataTable.Rows[ind].Delete();
  201.  
  202. SqlCommand deleteCommand = new SqlCommand("DELETE FROM Car WHERE " +
  203. "CarId = @CarId", cn);
  204.  
  205. deleteCommand.Parameters.Add(new SqlParameter("CarId", carId));
  206.  
  207. dataAdapter.DeleteCommand = deleteCommand;
  208.  
  209.  
  210. //DataRow dataRow = null;
  211. //dataRow = dataSet.Tables["Car"].Rows.Find(carId);
  212. //int ind = dataSet.Tables["Car"].Rows.IndexOf(dataRow);
  213. //dataSet.Tables["Car"].Rows[ind].Delete();
  214. }
  215.  
  216. private static void UpdateUnbound(int carId, string carName, int year)
  217. {
  218. DataRow dataRow = null;
  219. dataRow = dataTable.Rows.Find(carId);
  220. int ind = dataTable.Rows.IndexOf(dataRow);
  221. dataTable.Rows[ind]["CarName"] = carName;
  222. dataTable.Rows[ind]["Year"] = year;
  223.  
  224. SqlCommand updateCommand = new SqlCommand("UPDATE Car SET CarName = @CarName, Year = @Year WHERE CarId = @CarId", cn);
  225.  
  226. updateCommand.Parameters.Add(new SqlParameter("CarName", carName));
  227. updateCommand.Parameters.Add(new SqlParameter("Year", year));
  228. updateCommand.Parameters.Add(new SqlParameter("CarId", carId));
  229.  
  230. dataAdapter.UpdateCommand = updateCommand;
  231.  
  232.  
  233. //DataRow dataRow = null;
  234. //dataRow = dataSet.Tables["Car"].Rows.Find(carId);
  235. //int ind = dataSet.Tables["Car"].Rows.IndexOf(dataRow);
  236. //dataSet.Tables["Car"].Rows[ind]["CarName"] = carName;
  237. //dataSet.Tables["Car"].Rows[ind]["Year"] = year;
  238.  
  239. }
  240.  
  241. private static void Bound()
  242. {
  243. Console.WriteLine("select bound: ");
  244. SelectBound();
  245. InsertBound(3, "New Mashina", 2020);
  246. DeleteBound(1);
  247. UpdateBound(3, "Update Mashina", 2021);
  248. SelectBound();
  249. }
  250.  
  251. private static void Unbound()
  252. {
  253. StartUnbound();
  254. Console.WriteLine("select unbound : ");
  255. SelectUnbound();
  256. InsertUnbound(5, "BMW x6", 2016);
  257. SelectUnbound();
  258. DeleteUnbound(2);
  259. SelectUnbound();
  260. UpdateUnbound(1, "Update", 1080);
  261. EndUnbound();
  262. SelectUnbound();
  263. }
  264.  
  265. static void Main(string[] args)
  266. {
  267. connection_string = ConfigurationManager.ConnectionStrings["SQLClient"].ConnectionString;
  268. Console.OutputEncoding = System.Text.Encoding.UTF8;
  269. //Bound();
  270.  
  271. Unbound();
  272.  
  273. Console.Read();
  274.  
  275. }
  276. }
  277. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement