Operações com MySQL no C#

Importante: Os exemplos a seguir não levam em consideração a orientação à objetos, este veremos em uma próx. aula.

Todo SI (Sistema de Informação) estruturado em banco de dados relacionais se baseiam em basicamente 4 operações básicas de dados; inserção, alteração, exclusão e consulta. Esta publicação é um roteiro simples de como implementar estas operações em seu sistemas, mãos à obra.

ExecuteNonQuery

As operações de inserção, alteração e exclusão de registros no banco de dados são realizadas a partir do método ExecuteNonQuery(). Usamos este método quando queremos apenas enviar um comando para o banco e não queremos nenhum valor de volta.

Inserir Registros

 try
            {
                MySqlConnection conectar = new MySqlConnection("server=10.67.48.3;database=nome_do_banco; Uid=aluno; pwd=etec@147;");
                conectar.Open();
                //MessageBox.Show("Conectado");

                MySqlCommand Inserir = new MySqlCommand();
                Inserir.Connection = conectar;
                Inserir.CommandText = "INSERT INTO nome_da_tabela (campo1, campo2, campo3) VALUES ('"
                                        + txt1.Text + "', '"
                                        + txt2.Text + "', '"
                                        + txt3.Text + "') ";
                Inserir.ExecuteNonQuery();
                conectar.Close();
                MessageBox.Show("REGISTRO INSERIDO COM SUCESSO!");
                txt1.Clear();
                txt2.Clear();
                txt3.Focus();

            }
catch (Exception ex)
            {
                MessageBox.Show("Erro" + ex);
            }

Deletar Registros

try
            {
                MySqlConnection conectar = new MySqlConnection("server=10.67.48.3;database=nome_do_banco; Uid=aluno; pwd=etec@147;");
                conectar.Open();
                //MessageBox.Show("Conectado");

                MySqlCommand Deleta = new MySqlCommand();
                Deleta.Connection = conectar;
                Deleta.CommandText = "DELETE FROM nome_da_tabela WHERE campo1 = '"
                                        + txt3.Text + "'";
                Deleta.ExecuteNonQuery();
                conectar.Close();
                MessageBox.Show("REGISTRO EXCLUÍDO COM SUCESSO!");
                txt1.Clear();
                txt2.Clear();
                txt3.Focus();

            }
catch (Exception ex)
            {
                MessageBox.Show("Erro" + ex);
            }

Atualizar/Editar registros

try
            {
                MySqlConnection conectar = new MySqlConnection("server=10.67.48.3;database=nome_do_banco; Uid=aluno; pwd=etec@147;");
                conectar.Open();
                //MessageBox.Show("Conectado");

                MySqlCommand Atualiza = new MySqlCommand();
                Atualiza.Connection = conectar;
                Atualiza.CommandText = "UPDATE nome_da_tabela SET campo1='" 
                  + txt1.Text + "', campo2='" 
                  + txt2.Text +"' WHERE campoPK='" 
                  + txtCod.Text + "'";
                Atualiza.ExecuteNonQuery();
                conectar.Close();
                MessageBox.Show("REGISTRO ATUALIZADO COM SUCESSO!");
            }
catch (Exception ex)
            {
                MessageBox.Show("Erro" + ex);
            }

ExecuteReader

Quando precisamos ler valores no banco de dados, como em uma consulta por exemplo, usamos o método ExecuteReader(). Este método cria uma array de valores. Para acessar esta array muitas vezes precisamos recorrer à um laço de repetição, o for() por exemplo;

Consulta no banco de dados populando um DataGridView

try
            {
                MySqlConnection conectar = new MySqlConnection("server=10.67.48.3;database=nome_do_banco; Uid=aluno; pwd=etec@147;");
                conectar.Open();

                MySqlCommand Consulta = new MySqlCommand();
                Consulta.Connection = conectar;
                Consulta.CommandText = "SELECT * FROM nome_da_tabela ORDER BY campo DESC LIMIT 100";
                MySqlDataReader Resultado = Consulta.ExecuteReader();

                dataGridView1.Rows.Clear();

                if (Resultado.HasRows)
                {
                    while (Resultado.Read())
                    {                        
                        dataGridView1.Rows.Add(Resultado["campo1"].ToString(),
                                               Resultado["campo2"].ToString(),
                                               Resultado["campo3"].ToString());
                    }
                }
                else
                {
                    MessageBox.Show("Nenhum registro foi encontrada");
                }

                conectar.Close();

            }
catch (Exception ex)
            {
                MessageBox.Show("Erro " + ex);
            }