Atualmente tem-se falado bastante a respeito de aplicações com acesso a dados em camadas. A programação em camadas é uma forma de facilitar o desenvolvimento e reaproveitar o código desenvolvido, além de evitar alguns trabalhos extras quando acontecem determinadas mudanças.
Para trabalhar dessa forma desenvolvi uma classe que chamei de AcessarBD. Nesta classe farei todo o acesso a dados.
Veja o modelo abaixo:
Imports System.Data
Imports System.Data.OleDb
Public Class AcessarBD
Atributo
Private strConexao As String
Construtor da Classe
Public Sub New(ByVal _Conexao As String)
strConexao = _Conexao
End Sub
Propriedade
Public Property Conexao() As String
Get
Return strConexao
End Get
Set(ByVal value As String)
strConexao = value
End Set
End Property
Public Function retornarConsulta (ByVal sql as String) As DataSet
Dim ds As new DataSet
Dim conexao As new OleDbConnection(strConexao)
Dim comando As new OleDbCommand()
Dim adapter As new OleDbDataAdapter()
comando.Connection = conexao
comando.CommandType = CommandType.Text
comando.CommandText = sql
adapter.SelectCommand = cmd
preenche o dataset com os dados
ds = New DataSet("Dados")
adapter.Fill(ds)
retorna o dataset
Return ds
End Function
Public Sub ExecutaConsulta (ByVal sql as String)
Dim conexao As new OleDbConnection(strConexao)
Dim comando As new OleDbCommand()
comando.Connection = conexao
comando.CommandType = CommandType.Text
comando.CommandText = sql
conexao.Open()
comando.ExecuteNomQuery()
conexao.Close()
End Function
End Class
Após criada a camada de dados, vamos criar uma camada que chamamos de camada de Negócios. Para isso vou criar uma Classe que chamarei de Cliente.
Imports System.Data
Imports System.Data.OleDb
Public Class Cliente
Atributo
Private strNomeCliente As String
Private acessoDados as New AcessarBD ("String de conexao")
Construtor da Classe
Public Sub New(ByVal _nomeCliente As String)
strNomeCliente = _nomeCliente
End Sub
Propriedade
Public Property Cliente() As String
Get
Return strNomeCliente
End Get
Set(ByVal value As String)
strNomeCliente = value
End Set
End Property
Public Function exibirClientes() as DataSet
acessoDados.retornarConsulta("Consulta SQL")
End Function
Public Sub InserirCliente ()
acessoDados.ExecutaConsulta ("Consulta SQL")
End Function
End Class
Pronto, a Classe Cliente está programada.
Agora é só partir para a camada de Interface onde podemos implementar a parte visual do nosso projeto que poderá ser um WindowsForm ou WebForms.
Dessa forma se precisarmos mudar o BD, vamos para a classe de acesso a dados e se precisar modificar alguma coisa da classe é só ir na Classe Cliente.