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:
Para este exemplo usarei um banco de dados Access e armazenado junto com o projeto e somente duas tabelas “Cliente” e “Produto”.
Tabela Cliente:
Tabela Produto:
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

