Advertisement
Guest User

Untitled

a guest
Jun 21st, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.99 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. using System.Windows.Forms;
  6. using MySql.Data.MySqlClient;
  7.  
  8.  
  9. public class Database
  10. {
  11.  
  12. private static MySqlConnection connection = null;
  13.  
  14. private static MySqlConnection getConnection(){
  15. if(connection == null){
  16. connection = new MySqlConnection("Database=danilko_ola;SslMode=none;Data Source=mysql.danilko.myjino.ru;User Id=045254552_ola;Password=olaola");
  17. }
  18. return connection;
  19. }
  20.  
  21. public static QueryResult getQueryResult(MySqlCommand cmd){
  22. cmd.Connection.Open();
  23. QueryResult qr;
  24.  
  25. try{
  26. List<String[]> result = new List<String[]>();
  27. MySqlDataReader reader = cmd.ExecuteReader();
  28.  
  29. qr = new QueryResult(reader);
  30. }finally{
  31. cmd.Connection.Close();
  32. }
  33.  
  34. return qr;
  35. }
  36.  
  37. public static QueryResult getTablesList(){
  38. MySqlCommand cmd = new MySqlCommand("SHOW TABLES", getConnection());
  39. return getQueryResult(cmd);
  40. }
  41.  
  42. public static QueryResult query(String query){
  43. MySqlCommand cmd = new MySqlCommand(query, getConnection());
  44. return getQueryResult(cmd);
  45. }
  46.  
  47. public static void updateData(String table, Dictionary<String, String> columns, DataGridViewRow row, String[] values){
  48. MySqlCommand cmd = new MySqlCommand("UPDATE `"+table+"` SET "+BuildSet(columns, values)+" WHERE "+BuildWhere(columns,row), getConnection());
  49.  
  50. cmd.Connection.Open();
  51.  
  52. try{
  53. cmd.ExecuteNonQuery();
  54. }finally{
  55. cmd.Connection.Close();
  56. }
  57. }
  58.  
  59. public static void insertData(String table, Dictionary<String, String> columns, string[] row){
  60. String cols = "";
  61.  
  62. foreach(String column in columns.Keys){
  63. if(cols.Length > 0){
  64. cols += ", ";
  65. }
  66. cols += "`"+column+"`";
  67. }
  68.  
  69. String values = "";
  70. foreach(String cell in row){
  71. if(values.Length > 0){
  72. values += ", ";
  73. }
  74.  
  75.  
  76. String data = cell;
  77. if(columns.Values.ToList()[row.ToList().IndexOf(cell)].ToLower().Equals("varchar")){
  78. data = "\""+data+"\"";
  79. }else if(data == null || data.Equals("")){
  80. data = "NULL";
  81. }
  82.  
  83. values += data;
  84. }
  85.  
  86. MySqlCommand cmd = new MySqlCommand("INSERT INTO `"+table+"` ("+cols+") VALUES ("+values+")", getConnection());
  87.  
  88. cmd.Connection.Open();
  89.  
  90. try{
  91. cmd.ExecuteNonQuery();
  92. }finally{
  93. cmd.Connection.Close();
  94. }
  95.  
  96. }
  97.  
  98. public static void deleteData(String table, Dictionary<String,String> columns, DataGridViewRow row){
  99. MySqlCommand cmd = new MySqlCommand("DELETE FROM `"+table+"` WHERE "+BuildWhere(columns, row), getConnection());
  100.  
  101. cmd.Connection.Open();
  102. try{
  103. cmd.ExecuteNonQuery();
  104. }finally{
  105. cmd.Connection.Close();
  106. }
  107. }
  108.  
  109. public static String BuildWhere(Dictionary<String,String> columns, DataGridViewRow row){
  110. String query = "";
  111. for(int i = 0; i < columns.Keys.Count; i++){
  112. if(query.Length != 0){
  113. query += " AND ";
  114. }
  115.  
  116. String columnName = columns.Keys.ToList()[i];
  117. String data = ((String)row.Cells[i].Value);
  118. if(columns[columnName].ToLower().Equals("varchar") || columns[columnName].ToLower().Equals("datetime")){
  119. query += "`"+columnName+"` = \""+data+"\"";
  120. }else if(data == null || data.Equals("")){
  121. query += "`"+columnName+"` IS NULL";
  122. }else{
  123. query += "`"+columnName+"` = "+data;
  124. }
  125. }
  126. return query;
  127. }
  128.  
  129. public static String BuildSet(Dictionary<String,String> columns, String[] row){
  130. String query = "";
  131. for(int i = 0; i < columns.Keys.Count; i++){
  132. String columnName = columns.Keys.ToList()[i];
  133.  
  134. String data = row[i];
  135. if(columns[columnName].ToLower().Equals("varchar") || columns[columnName].ToLower().Equals("datetime")){
  136. data = "\""+data+"\"";
  137. }else if(data == null || data.Equals("")){
  138. data = "NULL";
  139. }
  140.  
  141. if(query.Length != 0){
  142. query += ", ";
  143. }
  144.  
  145. query += "`"+columnName+"` = "+data;
  146. }
  147. return query;
  148. }
  149.  
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement