quinta-feira, 28 de fevereiro de 2013

on


Classe Clientes

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

 Módulo de Conexão
Module mdlCadCli

    Public strCaminho As String = "E:\Projetos Visual Studio\CadClientes\CadClientes" '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.

End Module

 Tela de Cadastro
Imports System.Data.SqlClient

Public Class frmClientes

    Private strConexao As String
    Private dsCliente As DataSet
    Private daCliente As New SqlDataAdapter

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'string de conexão com o SQL Server 2005 Express local
        strConexao = "Data Source=.\SQLEXPRESS;AttachDbFilename=" & strCaminho & "\clientes.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

    End Sub

    Private Sub btnNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNovo.Click

        If btnNovo.Text = "&Novo" Then
            btnNovo.Text = "&Incluir"
            btnEditar.Enabled = False
            btnExcluir.Enabled = False
            txtNome.Focus()
        Else
            IncluirCliente()
        End If

    End Sub

    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

        MsgBox("Cliente inserido com sucesso.", MsgBoxStyle.Information)
    End Sub

    Private Sub btnEditar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEditar.Click
        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)
    End Sub

    Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click
        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
    End Sub

    Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click
        btnNovo.Enabled = True
        btnNovo.Text = "&Novo"
    End Sub

    Private Sub btnPesquisar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPesquisar.Click
        frmPCliente.ShowDialog()       
    End Sub
End Class

 Tela de Pesquisa
Imports System.Data.SqlClient

Public Class frmPCliente

    Private strConexao As String
    Private dsCliente As DataSet
    Private daCliente As New SqlDataAdapter
    Private dtCliente As DataTable

    Private Sub frmPCliente_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Me.ClientesTableAdapter.Fill(Me.ClientesDataSet.Clientes)

        'string de conexão com o SQL Server 2005 Express local
        strConexao = "Data Source=.\SQLEXPRESS;AttachDbFilename=" & strCaminho & "\clientes.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

    End Sub

    Private Sub btnConfirma_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConfirma.Click
        intCodigo = dgvClientes.CurrentRow.Cells(0).Value.ToString
        Close()
    End Sub

    Private Sub txtPesquisa_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtPesquisa.TextChanged
        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()
    End Sub
End Class

Espero ter ajudado... Até mais. Abraços!
Pegue o projeto neste link: http://www.mediafire.com/?tkufz9r0fehvb8w






0 comentários:

Postar um comentário