Você está na página 1de 3

ADO.

NET – CODIFICANDO
O banco de dados que esta sendo utilizado para exemplificar o funcionamento da ADO é o MysSql.

1º Adicionar referencia do drive do MySql (MySql.Data) ao projeto


2º Importar a biblioteca do mySql dentro da classe: Imports MySql.Data.MySqlClient

Componentes
Connection – Faz a conexão com o banco e dados, precisa de uma string de conexão.
Ex:
Dim con As New MySqlConnection
Sub conectar ()
Try
con.ConnectionString = "Server=localhost;Database=Empresa;Uid=root;Pwd=root123;Connect Timeout=30"
con.Open
Catch ex As MySqlException
MsgBox("Erro na conexão" & ex.Message)
End Try

Command – Executa os comandos de SQL, é preciso informar 3 parametros de configuração:


1. CommandText – texto sql que deverá ser executado
2. CommandType – tipo de comando que irá executar(text, StoredProcedure, TableDirect)
Ex: cmd.commandType = commandType.StroredProcedure
Ou cmd.commandType = commandType. TableDirect
Ou cmd.commandType = commandType. Text
3. Connection – Procura a conexão com o banco de dados
4. Para executar o comando usa-se o metodo :
ExecuteNonQuery -> Executa a sql sem retornar nada, usado mais para insert, update e delete
ExecuteReader -> Executa a sql que retorna registros atraves de um comando select, que irá
armazenar o resultado dentro de um componente DataReader
ExecuteScalar -> retorna um único valor, ou seja, o primeiro valor (coluna) que encontra depois de
executar um comando Select.
Ex:
Sub InserirDados
Dim cmd As New MySqlCommand
‘ Exemplo usando ? como coringa na sql
sql = "insert into empresa.departamentos (nomeDep) values(?)"

‘ Exemplo usando parametro na sql


sql = "insert into empresa.departamentos (nomeDep) values(@nome)"

Try
cmd.CommandText = sql
cmd.Connection = com

‘ao usar coringa na sql, o primeiro parametro é o nome do campo


cmd.Parameters.Add("nomedep", MySqlDbType.String).Value = txt_nome.Text
ou
‘ao usar parametro na sql o primeiro parametro é o proprio nome do parametro
'cmd.Parameters.Add("@nome", MySqlDbType.String).Value = txt_nome.Text
cmd.ExecuteNonQuery
Catch ex As Exception
MsgBox("erro ao inserir no banco -> " + ex.Message)
End Try
End Sub

DataReader – Armazena resultados de uma consulta SQL somente para leitura e so permite navegar para
frente, fornece acesso ao banco de dados de forma conectada.
Exemplo usando o DataReader para mostrar os dado de um registro do banco nos textBox do formulario:

Sub mostrarDados()
Dim cmd As New MySqlCommand
Dim dr As MySqlDataReader
Try
dr=cmd.ExecuteReader ‘usa o cmd para preencher o dr atravez do metodo ExecuteReader
dr.Read ‘Lê o DataReader

‘acessa o dr atraves do indice dos campos da tabela onde o 1º campo é o indice zero
txt_id.Text = dr(0).ToString
txt_nome.Text = dr(1).ToString
dr.close
Ou
‘acessa o dr atraves do nome dos campos
txt_id.Text = dr(“IdDep”).ToString
txt_nome.Text = dr(“NomeDep”).ToString
dr.close
Catch ex As MySqlException
MsgBox("Erro exibir os dados" & ex.Message)
End Try

DataSet – Fornece uma representação em memória do banco de dados atraves de acesso desconectado, é
um conjunto completo de dados, ou seja inclui todas as tabelas do banco de dados com seus respectivos
relacionamentos e registros. Por ser mais robusto que o DataReader, exige mais recursos de procesamento e
normalmente é usado com o componente DataAdapter.

DataAdapter – Como o proprio nome sugere, é um adaptador para acessar o banco de dados, de forma
semelhante ao Command, executa comandos SQL, e é usado também para preencher componentes como o
DataGridWiew.

Exemplo preenchendo um DataGridView com adapter e command:


Sub loadGrid
Dim cmd As New MySqlCommand
Dim da As New MySqlDataAdapter
Dim ds As New Data.DataSet
Try
sql = "SELECT idDep as ID, nomedep as DEPARTAMENTO FROM empresa.departamentos
cmd.CommandText = sql
cmd.Connection = con
da.SelectCommand = cmd
da.Fill(ds,"departamentos")
dgv_dep.DataSource = ds
dgv_dep.DataMember = "departamentos"

Catch ex As Exception
MsgBox("erro ao carregar o gride" & ex.Message)
End Try
End Sub
Exemplo para preencher um DataGridView com Adapter e sem o commad
Sub loadGrid
‘ declara-se o Adapeter e instancia-se com o comando sql e o a conexao
Dim da As New MySqlDataAdapter= new MySqlDataAdapter (select * from departamentos”, con)
Dim ds As New Data.DataSet
Try
da.Fill(ds,"departamentos")
dgv_dep.DataSource = ds
dgv_dep.DataMember = “Departamentos”
Catch ex As Exception
MsgBox("erro ao carregar o gride" & ex.Message)
End Try

End Sub

BindingSource – utilizado para ligar componentes, como DataReader ou DataSet


Exemplo para preencher um DataGridView com command e DataReader

Sub PreencheGrid()
Dim cmd As New MySqlCommand
Dim dr As new MySqlDataReader
Dim bs As new BindingSource

cmd.CommandText = “select * from departamentos”


dr = cmd.ExecuteReader()
bs.DataSource = dr
DataGridView.DataSource = bs
dr.close

Exemplo para preencher um DataGridView com command e DataSet

Dim cmd As New MySqlCommand


Dim da As New MySqlDataAdapter
Dim ds As new MySqlDataSet
Dim bs as new BindingSource

cmd.CommandText = “select * from departamentos”


cmd.Connection = con
da.SelectCommand = cmd
da.Fill = (ds)
bs.DataSource = ds.Tables(0)
DataGridView.DataSource = bs

Pegar o valor de uma célula do DataGridView e jogar em um TextBox

txt_Id.Text = dataGridView1.SelectedCells(0).value.ToString
txt_funcao.Text = dataGridView1.SelectedCells(1).Value.ToString