Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum BuilderType
- {
- None, Insert, Update, Select
- }
- class Builder
- {
- /// <summary>
- /// Tipo de gerenciamento
- /// </summary>
- public BuilderType Type = BuilderType.None;
- /// <summary>
- /// Linha de comando a ser executado
- /// </summary>
- private string Command = "";
- private string insertValues = "";
- private string where = "";
- /// <summary>
- /// Inicia o comando de inserir novos DADOS em determinada TABELA
- /// </summary>
- /// <param name="tableName"></param>
- /// <returns></returns>
- public Builder Insert(string tableName)
- {
- Command = "INSERT INTO " + tableName + "(";
- insertValues = ") values(";
- Type = BuilderType.Insert;
- return this;
- }
- /// <summary>
- /// Inicia o comando de atualizar os DADOS em determinada TABELA
- /// </summary>
- /// <param name="tableName"></param>
- /// <returns></returns>
- public Builder Update(string tableName, string AttributeName, object Value)
- {
- Command = "UPDATE " + tableName + " SET ";
- where = "WHERE " + AttributeName + "='" + Value.ToString() + "'";
- Type = BuilderType.Update;
- return this;
- }
- /// <summary>
- /// Recebe os dados de uma determinada tabela
- /// </summary>
- /// <param name="tableName"></param>
- /// <param name="AttributeName"></param>
- /// <param name="Value"></param>
- /// <returns></returns>
- public Builder Select(string tableName, string keyName, object Value)
- {
- Command = "SELECT * FROM " + tableName + " WHERE " + keyName + " ='" + Value.ToString() + "'";
- Type = BuilderType.Select;
- return this;
- }
- /// <summary>
- /// Adiciona os dados de acordo com seus atributos
- /// </summary>
- /// <param name="AttributeName"></param>
- /// <param name="Value"></param>
- /// <returns></returns>
- public Builder Add(string AttributeName, object Value)
- {
- switch(Type)
- {
- case BuilderType.None: return this;
- case BuilderType.Insert:
- Command += (Command.Substring(Command.Length - 1, 1) != "," && Command.Substring(Command.Length - 1, 1) != "(" ? "," : "") + AttributeName ;
- insertValues = (insertValues.Substring(insertValues.Length - 1, 1) == ")" ? insertValues.Substring(0, insertValues.Length - 1) : insertValues);
- insertValues += (insertValues.Substring(insertValues.Length - 1, 1) != "," && insertValues.Substring(insertValues.Length - 1, 1) != "(" ? "," : "") + "'" + Value.ToString() + "')";
- break;
- case BuilderType.Update:
- Command = Command.Trim();
- Command += (Command.Substring(Command.Length - 1, 1) == "T" ? " " : "") + (Command.Substring(Command.Length - 1, 1) == "'" ? "," : "") + AttributeName + "='" + Value.ToString() + "' ";
- break;
- }
- return this;
- }
- /// <summary>
- /// Gera o comando do SQL
- /// </summary>
- public string ReadCommand
- {
- get
- {
- switch(Type)
- {
- case BuilderType.Insert: return Command + insertValues;
- case BuilderType.Update: return Command + where;
- case BuilderType.Select: return Command;
- }
- return "";
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement