
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!!!