Como Fazer CRUD Com SQL Server 2016 Express em VB.net
Para fazermos as execuções básicas que são inserir, alterar, consultar e excluir primeiro precisamos ter uma instância do SQL Server instalada em nossa máquina, em um servidor na nuvem ou local.
Para instalar uma instância do SQL Server 2016 Express veja o passo a passo no vídeo abaixo:
Após a instalação da instância do SQL Server precisamos instalar o SQL Server Management Studio.
Veja o passo a passo da instalação no vídeo abaixo:
Agora que temos uma instância do SQL Server configurada em nossa máquina o próximo passo é criarmos um banco de dados, então abra o Management Studio conforme foi mostrado no vídeo.
Selecione no Object Explorer a pasta Databases, clique com o botão direito e selecione New Database…
Será aberta uma nova janela onde definimos o nome do banco de dados e caminho onde será criado, neste exemplo deixei o endereço padrão da instalação da instância do SQL Server.
Com o banco de dados criado agora precisamos criar uma tabela onde vamos fazer as movimentações do banco.
Neste exemplo vamos criar apenas três campos para ficar mais fácil o entendimento.
Para criar uma tabela no banco de dados que acabamos de adicionar, abra a pasta DataBases, depois expanda o seu banco clicando no + do lado esquerdo e selecione a pasta Tables.
Clique com o botão direito e selecione Table…
Vamos definir os seguinte campos:
Coluna | Tipo |
id | int |
nome | varchar(50) |
numero | int |
Defina o campo id como chave primária e auto incremento.
Salve a tabela com o nome de CAD_CLIENTE.
No vídeo abaixo você pode ver o passo a passo de como fazer CRUD no SQL Server 2016 Express utilizando ADO.net:
Agora caso você prefira segue o passo em texto.
Na tela de abertura do Visual Studio 2019 Community clique no botão New Project.
Na próxima tela que será exibida vamos selecionar o tipo de projeto Windows Forms App.
Clique em Next, na próxima tela vamos definir o nome do projeto como Cadastro.
Clique em Create para criar o projeto.
No formulário vamos colocar os seguintes controles:
- 3 Label
- 3 Textbox
- 5 Button
- 1 DataGridView
Configurando as propriedades dos controles:
Labels – Alterar a propriedade Text conforme a imagem acima.
Números na imagen:
- 1 – Name: txtID
- 2 – Name: txtNome
- 3 – Name: txtNumero
- 4 – Name: btnNovo, Text: Novo
- 5 – Name: btnEditar, Text: Editar
- 6 – Name: btnExcluir, Text: Excluir
- 7 – Name: btnExibir, Text: Exibir
- 8 – Name: btnConsultar, Text: Consultar
- 9 – Name: dgvDados
Com todos os controles já definidos vamos para a parte da codificação, para isso pressione F7 para acessar o código fonte do formulário.
Para trabalharmos com banco de dados é necessário utilizarmos o Namespace de acesso a dados.
Na parte superior da janela de código vamos fazer a importação do Namespace:
Imports System.Data.SqlClient
Dentro da classe do formulário vamos criar as variáveis que darão acesso ao banco de dados:
Private conexao As SqlConnection
Private comando As SqlCommand
Private da As SqlDataAdapter
Private dr As SqlDataReader
Agora vamos inserir o seguinte código dentro do botão novo:
Private Sub BtnNovo_Click(sender As Object, e As EventArgs) Handles btnNovo.Click Try conexao = New SqlConnection("Server=CODE-DESENV\SQLEXPRESS; Database=cliente;User Id=sa; Password=@mar147;") 'Comando para inserir novo registro strSQL = "INSERT INTO CAD_CLIENTE (NOME, NUMERO) VALUES (@NOME, @NUMERO)" comando = New SqlCommand(strSQL, conexao) comando.Parameters.AddWithValue("@NOME", txtNome.Text) comando.Parameters.AddWithValue("@NUMERO", txtNumero.Text) conexao.Open() comando.ExecuteNonQuery() Catch ex As Exception MessageBox.Show(ex.Message) Finally conexao.Close() comando.Clone() comando = Nothing conexao = Nothing End Try End Sub
Código do botão exibir:
Private Sub BtnExibir_Click(sender As Object, e As EventArgs) Handles btnExibir.Click Try conexao = New SqlConnection("Server=CODE-DESENV\SQLEXPRESS; Database=cliente;User Id=sa; Password=@mar147;") 'Comando para inserir novo registro strSQL = "SELECT * FROM CAD_CLIENTE" comando = New SqlCommand(strSQL, conexao) da = New SqlDataAdapter(strSQL, conexao) conexao.Open() Dim ds As New DataSet da.Fill(ds) dgvDados.DataSource = ds.Tables(0) Catch ex As Exception MessageBox.Show(ex.Message) Finally conexao.Close() comando.Clone() comando = Nothing conexao = Nothing End Try End Sub
Código do botão consultar:
Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles btnConsultar.Click Try conexao = New SqlConnection("Server=CODE-DESENV\SQLEXPRESS; Database=cliente;User Id=sa; Password=@mar147;") 'Comando para inserir novo registro strSQL = "SELECT * FROM CAD_CLIENTE WHERE ID = @ID" comando = New SqlCommand(strSQL, conexao) comando.Parameters.AddWithValue("@ID", txtID.Text) conexao.Open() dr = comando.ExecuteReader Do While dr.Read txtNome.Text = dr("nome") txtNumero.Text = dr("numero") Loop Catch ex As Exception MessageBox.Show(ex.Message) Finally conexao.Close() comando.Clone() comando = Nothing conexao = Nothing dr = Nothing End Try End Sub
Código do botão editar:
Private Sub BtnEditar_Click(sender As Object, e As EventArgs) Handles btnEditar.Click Try conexao = New SqlConnection("Server=CODE-DESENV\SQLEXPRESS; Database=cliente;User Id=sa; Password=@mar147;") 'Comando para inserir novo registro strSQL = "UPDATE CAD_CLIENTE SET NOME = @NOME, NUMERO = @NUMERO WHERE ID = @ID" comando = New SqlCommand(strSQL, conexao) comando.Parameters.AddWithValue("@ID", txtID.Text) comando.Parameters.AddWithValue("@NOME", txtNome.Text) comando.Parameters.AddWithValue("@NUMERO", txtNumero.Text) conexao.Open() comando.ExecuteNonQuery() Catch ex As Exception MessageBox.Show(ex.Message) Finally conexao.Close() comando.Clone() comando = Nothing conexao = Nothing End Try End Sub
Código do botão excluir:
Private Sub BtnExcluir_Click(sender As Object, e As EventArgs) Handles btnExcluir.Click Try conexao = New SqlConnection("Server=CODE-DESENV\SQLEXPRESS; Database=cliente;User Id=sa; Password=@mar147;") 'Comando para inserir novo registro strSQL = "DELETE CAD_CLIENTE WHERE ID = @ID" comando = New SqlCommand(strSQL, conexao) comando.Parameters.AddWithValue("@ID", txtID.Text) conexao.Open() comando.ExecuteNonQuery() Catch ex As Exception MessageBox.Show(ex.Message) Finally conexao.Close() comando.Clone() comando = Nothing conexao = Nothing End Try End Sub
Link permanente
Simplesmete Perfeito!!
Principalmente a opção da pessoa assistir ou acompanhar por imagens. Sei que da trabalho fazer o vídeo, mas as vezes a pessoa já tem um certo conhecimento e ela ta na dúvida entre um parametro ou outro e visualizando direto já ajuda bastante…
Parabéns!!!