Cadastro de clientes em VB

download Cadastro de clientes em VB

of 13

Transcript of Cadastro de clientes em VB

Cadastro de clientes em VB.Net 2005 Clique no Menu File / Project. Ser aberta a caixa de dilogo. 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 boto Browse e selecione onde ser salvo o projeto, como exemplo na figura acima, foi criada a pasta Diversos e a subpasta VBNET. Na opo Name como foi dado o nome de CadCli, o VBNET, automaticamente criar a subpasta com este nome. Desmarque opo Create directory for solution, pois caso contrrio o VB.NET criar outra pasta com o nome CadCli. Clique no boto OK para confirmar. Criao do banco CadCli e tabela de Clientes no SQL 2005 Express. Na janela Solution Explorer (no lado direito superior), clique com o boto 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 boto Finish. Na janela Solution Explorer d um duplo clique no objeto Cadcli.mdf. Veja figura abaixo

No lado esquerdo na janela Server Explorer, sero exibidos os objetos do banco recm criado.

Crie a estrutura da tabela, conforme figura abaixo:

Clique com o boto direito no campo Cdigo e selecione Set Primary Key. Mais abaixo em Column Properties, selecione Indentity Specification. Clique no boto com o sinal de +. Logo abaixo em (Is Identity) deixe como Yes, ou seja: numerao automtica. Clique no boto 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 formulrio:

Componente Form Form Form Form Form GroupBox GroupBox Button Button Button Button Button Button Button Button Button Button GroupBox GroupBox Label Label Label Label

Propriedade Text Name StartPosition MaximizeBox MinimizeBox Text Name Name Text Name Text Name Text Name Text Name Text Text Name Text Name Text Name

Valor Cadastro de Clientes frmCliente CenterScreen False False &Opoes fraOpcoes btnNovo &Novo btnEditar &Editar btnExcluir &Excluir btnCancelar C&ancelar btnPesquisar &Pesquisar &Dados btnDados Cdigo: lblCodigo Nome: lblNome

Label Label

Text Name

Email: lblEmail

Na janela Solution Explorer (no lado direito superior), clique com o boto direito no cone VB (onde est escrito CadCli) e selecione Add / Class. Veja figura abaixo:

D o nome da classe: clsCliente Insira o cdigo abaixo: Imports System.Data.SqlClient 'Permite o uso de instrues em SQL Server Public Class clsCliente Private cNome As String Private cEmail As String 'Criao 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 conexo e incluir os dados Dim con As New SqlConnection(conexao) 'Instncia a varivel con criando nova conexo Dim cmd As SqlCommand 'Declara varivel cmd para permitir executar comando SQL Dim reg As Integer 'Declara varivel para incluir o comando SQL Dim strSQL As String = "INSERT INTO Clientes (Nome, Email)" 'Declara varivel para inserir nos campos da tabela strSQL = strSQL & "VALUES ('" & Nome & "'" & "," 'Concatena com cada contedo de cada campo strSQL = strSQL & "'" & Email & "'" & ")" con = New SqlConnection(conexao) 'Realiza a conexo com o banco cmd = New SqlCommand(strSQL, con)'Armazena na varivel cmd a string sql e a conexo com o banco con.Open() 'Abre a conexo reg = cmd.ExecuteNonQuery 'Executa no havendo erro, salvando os dados na tabela con.Close() 'Fecha a conexo cmd.Dispose() 'Descarrega da memria con.Dispose() Catch ex As Exception 'Seno 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 boto direito (no mesmo local onde criou a classe) e selecione Add / Module: D o nome: mdlCadCli e digite o cdigo abaixo: Public strCaminho As String = "C:\Diversos\VBNet\CadCli" 'Varivel que armazenar o caminho onde se encontra o programa e principalmente o banco de dados Public intCodigo As Integer 'Varivel que armazenar o cdigo do cliente, quando efetuar a pesquisa. No mdulo ficam variveis, neste caso criadas com a instruo Public, j que sero utilizadas no projeto inteiro, pois o Dim apenas para o formulrio ou classe que foi declarado). Volte ao formulrio, para codificar os botes. D um duplo clique no form (onde no exista nenhum componente, button, label, etc.). Dever exibir o evento load. Digite o cdigo abaixo: 'string de conexo 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, porm com mais recursos. daCliente = New SqlDataAdapter(strSQL, strConexao) 'DataAdpter tem a responsabilidade de preencher (popular) um Dataset, e tambm receber do mesmo

modificaes e execut-las no banco de dados. daCliente.Fill(dsCliente, "Clientes") 'Atravs do mtodo 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 Codificao do boto 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 boto novo, digite: Private Sub IncluirCliente() Dim objCliente As New clsCliente 'Instncia 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 Codificao do boto 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) Codificao do boto 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 Codificao do boto Cancelar: btnNovo.Enabled = True btnNovo.Text = "&Novo" Criando o formulrio de pesquisa frmPCliente: Clique com o boto 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 boto Next. Clique no boto New Connection. Na janela que abrir, localize a tabela. A janela dever ficar como mostra a figura abaixo:

Clique boto Test Connection para confirmar e depois em OK.

Ser aberta a janela, conforme figura:

Deixe como mostra a figura abaixo, e clique no boto 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 boto 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 formulrio. Ser criado o grid com os campos. Delete a barra com os botes de navegao e opes. D um duplo clique no formulrio 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 conexo 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 boto Confirma e digite: intCodigo = dgvClientes.CurrentRow.Cells(0).Value.ToString Close() Volte ao formulrio frmClientes. D um duplo clique no boto Pesquisar e digite: frmPClientes.ShowDialog() Call exibir_dados()