Como criar uma classe com todos os comandos MySql - Fórum DevMedia
Como criar uma classe com todos os comandos MySql
Vinicius Biá
- 20 set 2013
Olá Pessoal, vira e mexe eu posto quase que a mesma coisa aqui (rsrsrs), mas vamos lá a minha dúvida sem muitas delongas, bom, eu quero criar uma classe de banco de dados com o MySql, e estou apanhando para fazer esta classe, alguém poderia me dar alguma dica, quero fazer ela completa....
essa Conexão eu quero fazer com o C#
Creio que tenha outro post sobre o mesmo tema, não?
Mas de toda forma, qual é exatamente sua dificuldade?
Acho que ficaria mais fácil utilizar o Entity Framework para desenvolver o que está desejando!
- 21 set 2013
Não sei se entendi direito, mas vou tentar.
Para trabalhar com banco de dados você pode utilizar o padrão DAO, isto é, pode criar uma classe que irá conter todo o seu código SQL.
namespace Contatos
class ContatosMODEL
class ContatosDAO
// conexao com o banco de dados
SqlConnection conn = new SqlConnection(@"Server =(LocalDB)\v11.0;Database = banco; Integrated Security = SSPI;");
private SqlTransaction transacao;
public void Gravar(ContatosMODEL contato)
// abre a conexão;
// inicia a transação
transacao = conn.BeginTransaction(IsolationLevel.ReadCommitted);
// instrução sql
SqlCommand sql = new SqlCommand("Insert Into contatos (codigo, nome, " +
"email, telefone) Values (@codigo, " +
"@nome, @email, @telefone)", conn, transacao);
// parametros da instrução sql
sql.Parameters.AddWithValue("@codigo", contato.codigo);
sql.Parameters.AddWithValue("@nome", contato.nome);
sql.Parameters.AddWithValue("@email", contato.email);
sql.Parameters.AddWithValue("@telefone", contato.telefone);
sql.ExecuteNonQuery(); // executa a instrução no banco
transacao.Commit(); // commita a transação
conn.Close();  // fecha a conexao
// Rollback na transação
Lembrando que este é apenas um exemplo.
Observe que eu instanciei um objeto do tipo SqlConnection na própria classe DAO apenas para te mostrar um exemplo. O ideal é você criar uma classe com métodos que retornam uma conexão, encerram a conexão, etc. Este tipo de classe é fácilmente encontrada na internet.
Então Thiago eu criei uma classe cliente e fiz como você referenciou no seu comentário, o problema é a tal classe com o banco MySql, fiz tudo direitinho, baixei o conector fiz sua referência, mas minha classe não funciona, olha ai :
namespace Projeto.BD
private string Banco_Dados;
private string Servidor;
private string Conexao;
private string MySql;
private MySqlConnection AbrirBanco()
Conexao = "DataSource=" + Servidor + ";Initial Catalog=" + Banco_Dados + ";Persist Security Info=True;User ID=" + Usuario + ";Password=" + Senha;
MySqlConnection con = new MySqlConnection(Conexao);
MySqlConnection con = AbrirBanco();
MySqlCommand cmd = new MySqlCommand(MySql,con);
public MySqlDataReader RetornaDataReader()
MySqlConnection cmd = new MySqlConnection();
cmd = AbrirBanco();
MySqlCommand Comando = new MySqlCommand();
Comando.CommandText = MySql.ToString();
Comando.Connection = cmd;
MySqlDataReader MySqlReader = Comando.ExecuteReader();
return MySqlReader;
public DataSet RetornaDataSete()
MySqlDataAdapter dtAdapter = new MySqlDataAdapter();
dtAdapter.SelectCommand = Comando;
dtAdapter.Fill(dsDataSet);
return dsDataSet;
public DataTable RetornaDataTable()
return dsDataSet.Tables[0];
Gostei da ideia de usar o Entity Framework que o Deivison passou......
mas segue ai minha classe criada com o MySql, lembrando que me basei no Sql Server, só se for isso....rsrsrs
- 22 set 2013
Vínicius no meu Github tem um exemplo completo de CRUD utilizando C# e ADO.NET que pode te ajudar.
Link: https://github.com/thiagoaugusto/Contatos
Dê uma estudada no código e qualquer dúvida eu estou disponível no email: thiago.android88@gmail.com
Olá Thiago, muito bom o link que me enviou....só gostaria de tirar algumas dúvidas..
1° Os Exemplos sitados são com SQL Server, no caso eu posso adapta-lo e colocar MySql ?
2° Para cada classe que eu tenho tipo, cliente, fornecedores, funcionários etc, eu tenho que criar uma classe de conexão ?
Desculpem a falta de conhecimento, é que sou novato rsrsrs
Você pode adaptar o exemplo de SQL Server para MySQL sem problemas, é só importar o driver do MySQL para o seu projeto e alterar os nomes.
SqlConnection - MysqlConnection
SqlCommand - MysqlCommand
Você não precisa criar uma classe de conexão para cada tela. Você pode criar uma única classe e instanciá-la quando precisar.
Você possui Skype? Se sim me passe a sua conta que nós conversamos por ele.
Não se preocupe em perguntar. Eu mesmo quando comecei a programar pude contar com a ajuda de alguns amigos.
Aqui mesmo na DevMedia tem muitas pessoas com muito mais conhecimento que eu, que na medida do possível irão te ajudar em todas as suas dúvidas.
Olá Thiago, fico feliz em poder contar com você assim como os demais amigos deste fórum, meu Skype é Vinicius Biá, viniciusbia@hotmail.com