ACESSO A BANCO DE DADOS EM C# - NÍVEL BÁSICO (Parte 2)
Criação e acesso a um banco de dados, programa básico que insere, deleta e altera o mesmo
O button2 é idêntico ao botão “Select” do Form1, no Form2 não houve mudanças:
private void button2_Click(object sender, EventArgs e)
{
string strcon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\k\\Meus documentos\\Visual Studio 2005\\Projects\\conect_sql_server\\conect_sql_server\\banco_dados.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection conexao = new SqlConnection(strcon);
SqlCommand cmd = new SqlCommand("SELECT * FROM tabela", conexao);
try
{
conexao.Open();
cmd.ExecuteNonQuery();
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = cmd;
da.Fill(ds);
dataGridView1.DataSource = ds;
dataGridView1.DataMember = ds.Tables[0].TableName;
}
catch (Exception ex)
{
MessageBox.Show("Erro " + ex.Message);
throw;
}
finally
{
conexao.Close();
}
}

Para o DataGridView faremos algumas mudanças em suas
propriedades antes de colocarmos o código, então volte para o Desing do Form2,
clique no DataGridView e entre na janela à direita de propriedades e
deixe a propriedade ReadOnly=true e propriedade SelectionMode=FullRowSelect,
para quando clicarmos no DataGridView a linha ser selecionada por
inteiro. O
código será colocado dentro do evento CellClick, então entre nesse
evento e cole o código abaixo:
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) {
textBox3.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
/* ao clicar em uma linha do datagridview, o conteudo é transferido para o texbox 3,4,5 e 6 */
textBox4.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString(); //
/* os números [0] e [1] representam o índice da coluna que será transferido para o texbox, nesse caso o texbox4 recebe a coluna [1], texbox5 recebe a coluna [0] */
textBox5.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
textBox6.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
}
O button3 representa o botão
“Delete”, o código segue abaixo:
private void button3_Click(object sender, EventArgs e) {
string strcon = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Documents and Settings\\k\\Meus documentos\\Visual Studio 2005\\Projects\\conect_sql_server\\conect_sql_server\\banco_dados.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection conexao = new SqlConnection(strcon);
//SqlCommand cmd = new SqlCommand( ("DELETE FROM tabela WHERE nome= '"+textBox3.Text+"' "), conexao);
SqlCommand cmd = new SqlCommand( ("DELETE FROM tabela WHERE nome='"+textBox3.Text+"' AND numero="+textBox4.Text.Replace(",",".")+" "), conexao); /* é necessário colocar o replace no texbox 4, pois se o numero tiver "," não irá deletar do banco de dados, a "," representa o próximo campo nessa sintaxe, e não queremos isso, apenas queremos deletar o número q possui "," */
try
{
conexao.Open();
cmd.ExecuteNonQuery(); // deleta valores do banco de dados
button2_Click(sender, e);
}
catch (Exception ex)
{
MessageBox.Show("Erro " + ex.Message);
throw;
}
finally
{
conexao.Close();
}
}



0
0
