Advertisement
Guest User

MySQL Builder

a guest
Jun 26th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. enum BuilderType
  2. {
  3. None, Insert, Update, Select
  4. }
  5.  
  6. class Builder
  7. {
  8. /// <summary>
  9. /// Tipo de gerenciamento
  10. /// </summary>
  11. public BuilderType Type = BuilderType.None;
  12.  
  13. /// <summary>
  14. /// Linha de comando a ser executado
  15. /// </summary>
  16. private string Command = "";
  17. private string insertValues = "";
  18. private string where = "";
  19.  
  20. /// <summary>
  21. /// Inicia o comando de inserir novos DADOS em determinada TABELA
  22. /// </summary>
  23. /// <param name="tableName"></param>
  24. /// <returns></returns>
  25. public Builder Insert(string tableName)
  26. {
  27. Command = "INSERT INTO " + tableName + "(";
  28. insertValues = ") values(";
  29. Type = BuilderType.Insert;
  30. return this;
  31. }
  32.  
  33. /// <summary>
  34. /// Inicia o comando de atualizar os DADOS em determinada TABELA
  35. /// </summary>
  36. /// <param name="tableName"></param>
  37. /// <returns></returns>
  38. public Builder Update(string tableName, string AttributeName, object Value)
  39. {
  40. Command = "UPDATE " + tableName + " SET ";
  41. where = "WHERE " + AttributeName + "='" + Value.ToString() + "'";
  42. Type = BuilderType.Update;
  43. return this;
  44. }
  45.  
  46. /// <summary>
  47. /// Recebe os dados de uma determinada tabela
  48. /// </summary>
  49. /// <param name="tableName"></param>
  50. /// <param name="AttributeName"></param>
  51. /// <param name="Value"></param>
  52. /// <returns></returns>
  53. public Builder Select(string tableName, string keyName, object Value)
  54. {
  55. Command = "SELECT * FROM " + tableName + " WHERE " + keyName + " ='" + Value.ToString() + "'";
  56. Type = BuilderType.Select;
  57. return this;
  58. }
  59.  
  60. /// <summary>
  61. /// Adiciona os dados de acordo com seus atributos
  62. /// </summary>
  63. /// <param name="AttributeName"></param>
  64. /// <param name="Value"></param>
  65. /// <returns></returns>
  66. public Builder Add(string AttributeName, object Value)
  67. {
  68. switch(Type)
  69. {
  70. case BuilderType.None: return this;
  71. case BuilderType.Insert:
  72. Command += (Command.Substring(Command.Length - 1, 1) != "," && Command.Substring(Command.Length - 1, 1) != "(" ? "," : "") + AttributeName ;
  73. insertValues = (insertValues.Substring(insertValues.Length - 1, 1) == ")" ? insertValues.Substring(0, insertValues.Length - 1) : insertValues);
  74. insertValues += (insertValues.Substring(insertValues.Length - 1, 1) != "," && insertValues.Substring(insertValues.Length - 1, 1) != "(" ? "," : "") + "'" + Value.ToString() + "')";
  75. break;
  76. case BuilderType.Update:
  77. Command = Command.Trim();
  78. Command += (Command.Substring(Command.Length - 1, 1) == "T" ? " " : "") + (Command.Substring(Command.Length - 1, 1) == "'" ? "," : "") + AttributeName + "='" + Value.ToString() + "' ";
  79. break;
  80. }
  81. return this;
  82. }
  83.  
  84. /// <summary>
  85. /// Gera o comando do SQL
  86. /// </summary>
  87. public string ReadCommand
  88. {
  89. get
  90. {
  91. switch(Type)
  92. {
  93. case BuilderType.Insert: return Command + insertValues;
  94. case BuilderType.Update: return Command + where;
  95. case BuilderType.Select: return Command;
  96. }
  97. return "";
  98. }
  99. }
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement