Cadastro de clientes em VB.Net 2005
Clique no Menu File / Project. Será aberta a caixa de diálogo. Veja figura abaixo:

Em Project types, selecione: Visual Basic.
Em Templates, selecione: Windows Application.
Em Name: Digite o nome do projeto, neste caso CadCli.
Em Location: Clique no botão Browse e selecione onde será salvo o projeto, como exemplo na figura acima, foi criada a pasta Diversos e a subpasta VBNET. Na opção Name como foi dado o nome de CadCli, o VBNET, automaticamente criará a subpasta com este nome.
Desmarque opção Create directory for solution, pois caso contrário o VB.NET criará outra pasta com o nome CadCli.
Clique no botão OK para confirmar.
Criação do banco CadCli e tabela de Clientes no SQL 2005 Express.
Na janela Solution Explorer (no lado direito superior), clique com o botão direito no ícone VB (onde está escrito CadCli) e selecione Add / New Item. Veja figura abaixo:

Será aberta a janela abaixo:

Selecione SQL Database e dê o nome de Clientes.mdf.
Será aberta a janela, conforme figura abaixo:

Selecione Table e no DataSet name: defina como Clientes. Clique no botão Finish.
Na janela Solution Explorer dê um duplo clique no objeto Cadcli.mdf. Veja figura abaixo

No lado esquerdo na janela Server Explorer, serão exibidos os objetos do banco recém criado.

Crie a estrutura da tabela, conforme figura abaixo:

Clique com o botão direito no campo Código e selecione Set Primary Key.
Mais abaixo em Column Properties, selecione Indentity Specification. Clique no botão com o sinal de +. Logo abaixo em (Is Identity) deixe como Yes, ou seja: numeração automática.
Clique no botão Salvar, e salve a tabela com o nome: Clientes. Feche a janela de estrutura da tabela e nas guias no meio da janela, selecione o objeto frmCliente.vb ou dê um duplo clique no Solution Explorer no mesmo objeto.
Crie conforme a figura abaixo, o formulário:

| Componente | Propriedade | Valor |
|---|---|---|
| Form | Text | Cadastro de Clientes |
| Form | Name | frmCliente |
| Form | StartPosition | CenterScreen |
| Form | MaximizeBox | False |
| Form | MinimizeBox | False |
| GroupBox | Text | &Opçoes |
| GroupBox | Name | fraOpcoes |
| Button | Name | btnNovo |
| Button | Text | &Novo |
| Button | Name | btnEditar |
| Button | Text | &Editar |
| Button | Name | btnExcluir |
| Button | Text | &Excluir |
| Button | Name | btnCancelar |
| Button | Text | C&ancelar |
| Button | Name | btnPesquisar |
| Button | Text | &Pesquisar |
| GroupBox | Text | &Dados |
| GroupBox | Name | btnDados |
| Label | Text | Código: |
| Label | Name | lblCodigo |
| Label | Text | Nome: |
| Label | Name | lblNome |
| Label | Text | Email: |
| Label | Name | lblEmail |
Na janela Solution Explorer (no lado direito superior), clique com o botão direito no ícone VB (onde está escrito CadCli) e selecione Add / Class. Veja figura abaixo:

Dê o nome da classe: clsCliente
Insira o código abaixo:
Imports System.Data.SqlClient 'Permite o uso de instruções em SQL Server
Public Class clsCliente
Private cNome As String
Private cEmail As String
'Criação das classes
Public Property Nome() As Integer
Get
Return cNome
End Get
Set(ByVal value As Integer)
cNome = value
End Set
End Property
Public Property Email() As Integer
Get
Return cEmail
End Get
Set(ByVal value As Integer)
cEmail = value
End Set
End Property
Public Sub Incluir(ByVal Nome As String, ByVal Email As String, ByVal conexao As String)
Try'Tenta fazer a conexão e incluir os dados
Dim con As New SqlConnection(conexao) 'Instância a variável con criando nova conexão
Dim cmd As SqlCommand 'Declara variável cmd para permitir executar comando SQL
Dim reg As Integer 'Declara variável para incluir o comando SQL
Dim strSQL As String = "INSERT INTO Clientes (Nome, Email)" 'Declara variável para inserir nos campos da tabela
strSQL = strSQL & "VALUES ('" & Nome & "'" & "," 'Concatena com cada conteúdo de cada campo
strSQL = strSQL & "'" & Email & "'" & ")"
con = New SqlConnection(conexao) 'Realiza a conexão com o banco
cmd = New SqlCommand(strSQL, con)'Armazena na variável cmd a string sql e a conexão com o banco
con.Open() 'Abre a conexão
reg = cmd.ExecuteNonQuery 'Executa não havendo erro, salvando os dados na tabela
con.Close() 'Fecha a conexão
cmd.Dispose() 'Descarrega da memória
con.Dispose()
Catch ex As Exception 'Senão conseguiu executar as linhas acima, exibe mensagem de erro
MessageBox.Show(ex.Message)
End Try
End Sub
Public Sub Alterar(ByVal Codigo As Integer, ByVal Nome As String, ByVal Email As String, ByVal conexao As String)
Try
Dim con As New SqlConnection(conexao)
Dim cmd As SqlCommand
Dim reg As Integer
Dim strSQL = "Update Clientes Set Nome='" & Nome
strSQL = strSQL & "', Observacao='" & Email & "'" & ","
strSQL = strSQL & " Where Codigo=" & Codigo
con = New SqlConnection(conexao)
cmd = New SqlCommand(strSQL, con)
con.Open()
reg = cmd.ExecuteNonQuery
con.Close()
cmd.Dispose()
con.Dispose()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
Public Sub Excluir(ByVal Codigo As Integer, ByVal conexao As String)
Try
Dim con As New SqlConnection(conexao)
Dim cmd As SqlCommand
Dim strSQL As String = "DELETE FROM Clientes Where Codigo=" & Codigo
con = New SqlConnection(conexao)
cmd = New SqlCommand(strSQL, con)
cmd.ExecuteNonQuery()
con.Close()
cmd.Dispose()
con.Dispose()
Catch err As SqlException
Throw err
Catch err As Exception
Throw err
End Try
End Sub
End Class
Clique com o botão direito (no mesmo local onde criou a classe) e selecione Add / Module:
Dê o nome: mdlCadCli e digite o código abaixo:
Public strCaminho As String = "C:\Diversos\VBNet\CadCli" 'Variável que armazenará o caminho onde se encontra o programa e principalmente o banco de dados
Public intCodigo As Integer 'Variável que armazenará o código do cliente, quando efetuar a pesquisa.
No módulo ficam variáveis, neste caso criadas com a instrução Public, já que serão utilizadas no projeto inteiro, pois o Dim é apenas para o formulário ou classe que foi declarado).
Volte ao formulário, para codificar os botões.
Dê um duplo clique no form (onde não exista nenhum componente, button, label, etc.). Deverá exibir o evento load.
Digite o código abaixo:
'string de conexão com o SQL Server 2005 Express local
strConexao = "Data Source=.\SQLEXPRESS;AttachDbFilename=" & strCaminho & "\Cadcli.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
Dim strSQL As String = "Select * from Clientes"
Try
Dim conBD As New SqlConnection(strConexao)
dsCliente = New DataSet 'Dataset é como se fosse um recordset do VB6, porém com mais recursos.
daCliente = New SqlDataAdapter(strSQL, strConexao) 'DataAdpter tem a responsabilidade de preencher (popular) um Dataset, e também receber do mesmo modificações e executá-las no banco de dados.
daCliente.Fill(dsCliente, "Clientes") 'Através do método Fill, o dataset dsCliente, foi preenchido com a tabela Clientes.
Catch err As Exception
MessageBox.Show(err.ToString)
End Try
Alguns itens ficaram grifados. Isto porque falta definir a biblioteca do SQL.
Mais acima deste private, localize a linha Public Class frmClientes.
Acima dela digite: Imports System.Data.SqlClient
Abaixo da linha Public Class frmClientes, digite:
Private strConexao As String
Private dsCliente As DataSet
Private daCliente As New SqlDataAdapter
Codificação do botão Novo:
If btnNovo.Text = "&Novo" Then
btnNovo.Text = "&Incluir"
btnEditar.Enabled = False
btnExcluir.Enabled = False
txtNome.Focus()
Else
IncluirCliente()
End If
Criando a subrotina IncluirCliente:
Abaixo do End Sub do botão novo, digite:
Private Sub IncluirCliente()
Dim objCliente As New clsCliente 'Instância a classe
Dim Nome As String = Me.txtNome.Text.Trim
Dim Email As String = Me.txtEmail.Text
objCliente.Incluir(Nome, email, strConexao) 'Chama a rotina de incluir na tabela que está na classe clsCliente
End Sub
Codificação do botão Editar:
btnNovo.Enabled = False
Dim objCliente As New clsCliente
Dim Codigo As Integer = Me.txtCodigo.Text.Trim
Dim Nome As String = Me.txtNome.Text.Trim
Dim Email As String = Me.txtEmail.Text.Trim
objCliente.Alterar(Codigo, Nome, Email, strConexao)
Codificação do botão Excluir:
If MessageBox.Show("Deseja Excluir ?", "Excluir", MessageBoxButtons.YesNo) =
Windows.Forms.DialogResult.Yes Then
Dim objCliente As New clsCliente
Dim Codigo As Integer = Me.txtCodigo.Text.Trim
objCliente.Excluir(Codigo, strConexao)
End If
Codificação do botão Cancelar:
btnNovo.Enabled = True
btnNovo.Text = "&Novo"
Criando o formulário de pesquisa frmPCliente:
Clique com o botão direito sobre o ícone VB, e selecione: Add / Windows Form.
Dê o nome de frmPCliente.
Criando novo Data Source
Conforme figura abaixo, clique no Menu Data e selecione Add New Data Source.

Na janela que abriu, clique no botão Next.
Clique no botão New Connection. Na janela que abrir, localize a tabela. A janela deverá ficar como mostra a figura abaixo:

Clique botão Test Connection para confirmar e depois em OK.
Será aberta a janela, conforme figura:

Deixe como mostra a figura abaixo, e clique no botão Finish.
No lado esquerdo da janela, tem a guia Data Source. Dê um clique para iniciar a montagem da pesquisa.

Coloque um label: lblPesquisa no name e Pesquisa: no Text
Coloque um textbox: txtPesquisa no name
Coloque um button: btnConfirma no name e C&onfirma: no Text
Clique no botão de + no ícone ClientesDataSet. Será exibido o ícone da tabela de clientes. De um clique no nome Clientes. Surgirá uma seta. Clique na mesma e selecione dataGridView. Arraste para o formulário. Será criado o grid com os campos. Delete a barra com os botões de navegação e opções.
Dê um duplo clique no formulário e depois da linha Public Class frmPClientes, digite:
Private strConexao As String
Private dsCliente As DataSet
Private daCliente As New SqlDataAdapter
Private dtCliente As DataTable
Antes da linha Public Class frmPClientes, digite:
Imports System.Data.SqlClient
Abaixo da linha Me.ClientesTableAdapter.Fill(Me.CadcliDataSet.Clientes), digite:
'string de conexão com o SQL Server 2005 Express local
strConexao = "Data Source=.\SQLEXPRESS;AttachDbFilename=" & strCaminho & "\Cadcli.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
Dim strSQL As String = "Select * from Clientes"
Try
Dim conBD As New SqlConnection(strConexao)
dsCliente = New DataSet
daCliente = New SqlDataAdapter(strSQL, strConexao)
daCliente.Fill(dsCliente, "Clientes")
Catch err As Exception
MessageBox.Show(err.ToString)
End Try
Dê um duplo clique no textbox pesquisa e digite:
Dim strSQL As String = "Select * From Clientes Where Nome Like '" & txtPesquisa.Text & "%'"
Dim conBD As New SqlConnection(strConexao)
dsCliente = New DataSet()
daCliente = New SqlDataAdapter(strSQL, strConexao)
daCliente.Fill(dsCliente, "Clientes")
dtCliente = dsCliente.Tables("Clientes")
dgvClientes.DataSource = dtCliente
conBD.Close()
Dê um duplo clique no botão Confirma e digite:
intCodigo = dgvClientes.CurrentRow.Cells(0).Value.ToString
Close()
Volte ao formulário frmClientes. Dê um duplo clique no botão Pesquisar e digite:
frmPClientes.ShowDialog()
Call exibir_dados()