Rotina em vb.Net de inclusão no banco de dados, que pode ser usada com diversas tabelas.

A utilização de modulo em programação com vb.Net, facilita no reaproveitamento de código, mas devemos nos atendar para a forma de criação das rotinas.

Vou mostrar como podemos criar uma rotina de inclusão no banco de dados, que pode ser reaproveitada sem temos que fazer quase nenhuma alteração.

Baixe o projeto de exemplo.

Tela Cadastro de Cliente:

formcliente2

Para este exemplo usarei um banco de dados Access e armazenado junto com o projeto e somente duas tabelas “Cliente” e “Produto”.

Tabela Cliente:

tabcliente

Tabela Produto:

tabproduto

Para que esta rotina funcione da forma correta os nomes dos campos do meu formulário “Cadastro Cliente ”  seguem uma regra, são os os mesmos nomes dos campos da tabela, com uma obs : são antecedidos por 3 letras com seus tipos ex:  txtNome _cli para campo TextBox, mskTelefone_cli para campo MaskTestBox.

Esta rotina irá verificar de que tipo são os objetos que estão no formulário remover as 3 letras que o antecedem, para com seus valores montar a String SQL de inclusão no banco, para diferenciar a tabela uso o mesmo conceito no formulário.

Para que isso funcione, deve se ter as funções de conexão com o banco de dados, estou colocando todas em um exemplo que estará disponível para downloads, baixe o projeto de exemplo.

Já vem com banco de dados access.

'********************************************************************************
    ' Procedimento para adicionar ao banco de dados                                 *
    '                                                                               *
    '                                                                               *
    '                                                                               *
    '********************************************************************************
    Public Sub Adicionar(ByVal operacao As String, ByVal formulario As Object)
        Dim cSql = Nothing, cAux = Nothing
        Dim oObj As New Object
        cSql = Nothing
        cAux = Nothing
        Dim X As String
        With formulario
            For Each oObj In .Controls
                If TypeOf oObj Is MaskedTextBox Or TypeOf oObj Is ComboBox Or TypeOf oObj Is TextBox Then
                    If Not oObj.tag = "Codigo" And Not oObj.tag = "Busca" Then
                        cSql = cSql & Mid(oObj.Name, 4) & ","
                        X = cSql
                        If (Mid(oObj.name, 1, 3) = "cmb") Then
                            cAux = cAux & "'" & UCase(oObj.SelectedItem) & "',"
                        Else
                            If oObj.tag = "numero" Then
                                cAux = cAux & UCase(oObj.Text) & "',"
                            Else
                                cAux = cAux & "'" & UCase(oObj.Text).ToString.Replace("'", " ") _
                                    .Replace(";", " ").Replace("""", " ") & "',"
                            End If
                        End If
                    End If
                End If
            Next
        End With
        MsgBox(cSql)
        cSql = "INSERT INTO " + Mid(formulario.Name, 4) + "(" & Mid(cSql, 1, Len(cSql) - 1) & "" & _
            ") values (" & Mid(cAux, 1, Len(cAux) - 2) & "')"
        MsgBox(cSql)
        Try
            Conectar()
            comando.CommandText = cSql
            comando.ExecuteNonQuery()
            MsgBox(Mid(formulario.Name, 4) & " atualizado com Sucesso", _
                   MsgBoxStyle.Information, "Cadastro de " & Mid(formulario.name, 4))
        Catch ex As Exception
            Dim erro As String = ex.ToString
            MsgBox(erro)
            Desconectar()
        End Try
    End Sub
Avatar of Rubens Leme

Sobre Rubens Leme

Trabalho com tecnologia da informação há 12 anos, amplo conhecimento em tecnologias de auxilio ao deficiente visual e 2 anos em tecnologias de desenvolvimento de software (Java, C e .Net); Graduado como Tecnólogo em sistema de informação Faculdades Oswaldo Cruz – 2004; Especialização em (SO Linux), Instituto de matemática da USP - 2001; Especialização em “BD Oracle”, ORACLE UNIVERSITY: Introduction to Oracle9i SQL e Administration Fundamentals I – 2003; Especialização em “Java SE”, Etec Martin Luther king – 2010; Especialização em “Programação em C”, Instituto de matemática da USP – 2011; Mais de 10 anos trabalhando e desenvolvendo atividades na Laramara - Associação Brasileira de Assistência ao Deficiente Visual, e atualmente coordena o setor de tecnologia da informação, o qual dá suporte para 283 colaboradores; Professor no Centro Estadual de Educação Tecnológica ”Paula Souza”, desde 2009.