COMO FAZER CLASSE DE PERSISTENCIA?
Bom dia!
Pessoal,Programo em VB 6.0. Mas sou iniciante em VB.NET.
Estou tentando criar uma classe de persistencia para usar
sempre que for precisar contruir um Cadastro, seja de cliente,
fornecedor,produto,etc...Algo que eu possa usar para manipular
o BD.Criei a classe abaixo.O read funciona perfeito, mas os outros
métodos não estão funcionando. Algum colega pode me dizer a
causa?????
Obs: Além disso, se algum colega puder me sugerir,qualquer
mudança,para tornar a classe melhor fico grato.
--------------------------------------------------------------------------------------------------------------
Imports System.Data.OleDb
Public Class ClPersistencia
Public Sub New()
End Sub
Public Shared Function Conexao() As OleDbConnection
[ô]Declaro variável para representar o objeto
Dim Con As New OleDbConnection
[ô]Define a String de conexão
Con.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\BD\Bd1.mdb;Jet OLEDB:Database Password=[Ô]
[ô]Abre conexao
Con.Open()
[ô]Retorna valor
Return Con
End Function
Public Shared Sub Create(ByVal Instrucao_Sql As String)
[ô]Cria comando
Dim Comando As New OleDbCommand()
[ô]Define tipo de comando
Comando.CommandType = CommandType.Text
[ô]Define comando de texto
Comando.CommandText = Instrucao_Sql
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter()
[ô]Abrir conexão
Conexao()
[ô]Executa
Da.InsertCommand = Comando
[ô]Fechar conexão
Conexao.Close()
End Sub
Public Shared Function Read(ByVal Instrucao_Sql As String) As DataTable
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter(Instrucao_Sql, Conexao)
[ô]Declara variável para representar objeto [ô]DataTable[ô]
Dim Dt As New DataTable
[ô]Transfere dados
Da.Fill(Dt)
[ô]Retorna valor
Return Dt
End Function
Public Sub Updade(ByVal Instrucao_Sql)
[ô]Cria comando
Dim Comando As New OleDbCommand
[ô]Define tipo de comando
Comando.CommandType = CommandType.Text
[ô]Define comando de texto
Comando.CommandText = Instrucao_Sql
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter()
[ô]Abrir conexão
Conexao()
[ô]Executa
Da.UpdateCommand = Comando
[ô]Fechar conexão
Conexao.Close()
End Sub
Public Shared Sub Delete(ByVal Instrucao_Sql)
[ô]Cria comando
Dim Comando As New OleDbCommand
[ô]Define tipo de comando
Comando.CommandType = CommandType.Text
[ô]Define comando de texto
Comando.CommandText = Instrucao_Sql
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter()
[ô]Abrir conexão
Conexao()
[ô]Executa
Da.DeleteCommand = Comando
[ô]Fechar conexão
Conexao.Close()
End Sub
End Class
Pessoal,Programo em VB 6.0. Mas sou iniciante em VB.NET.
Estou tentando criar uma classe de persistencia para usar
sempre que for precisar contruir um Cadastro, seja de cliente,
fornecedor,produto,etc...Algo que eu possa usar para manipular
o BD.Criei a classe abaixo.O read funciona perfeito, mas os outros
métodos não estão funcionando. Algum colega pode me dizer a
causa?????
Obs: Além disso, se algum colega puder me sugerir,qualquer
mudança,para tornar a classe melhor fico grato.
--------------------------------------------------------------------------------------------------------------
Imports System.Data.OleDb
Public Class ClPersistencia
Public Sub New()
End Sub
Public Shared Function Conexao() As OleDbConnection
[ô]Declaro variável para representar o objeto
Dim Con As New OleDbConnection
[ô]Define a String de conexão
Con.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\BD\Bd1.mdb;Jet OLEDB:Database Password=[Ô]
[ô]Abre conexao
Con.Open()
[ô]Retorna valor
Return Con
End Function
Public Shared Sub Create(ByVal Instrucao_Sql As String)
[ô]Cria comando
Dim Comando As New OleDbCommand()
[ô]Define tipo de comando
Comando.CommandType = CommandType.Text
[ô]Define comando de texto
Comando.CommandText = Instrucao_Sql
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter()
[ô]Abrir conexão
Conexao()
[ô]Executa
Da.InsertCommand = Comando
[ô]Fechar conexão
Conexao.Close()
End Sub
Public Shared Function Read(ByVal Instrucao_Sql As String) As DataTable
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter(Instrucao_Sql, Conexao)
[ô]Declara variável para representar objeto [ô]DataTable[ô]
Dim Dt As New DataTable
[ô]Transfere dados
Da.Fill(Dt)
[ô]Retorna valor
Return Dt
End Function
Public Sub Updade(ByVal Instrucao_Sql)
[ô]Cria comando
Dim Comando As New OleDbCommand
[ô]Define tipo de comando
Comando.CommandType = CommandType.Text
[ô]Define comando de texto
Comando.CommandText = Instrucao_Sql
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter()
[ô]Abrir conexão
Conexao()
[ô]Executa
Da.UpdateCommand = Comando
[ô]Fechar conexão
Conexao.Close()
End Sub
Public Shared Sub Delete(ByVal Instrucao_Sql)
[ô]Cria comando
Dim Comando As New OleDbCommand
[ô]Define tipo de comando
Comando.CommandType = CommandType.Text
[ô]Define comando de texto
Comando.CommandText = Instrucao_Sql
[ô]Cria DataAdapter
Dim Da As New OleDbDataAdapter()
[ô]Abrir conexão
Conexao()
[ô]Executa
Da.DeleteCommand = Comando
[ô]Fechar conexão
Conexao.Close()
End Sub
End Class
Imports System.Data.SqlClient
Public Class Conexaobd
Dim conect As New SqlConnection([Ô]Data Source=SERVIDOR01\SQLEXPRESS;AttachDbFilename=d:\bd\LOJA.mdf;user id=sa;password=masterkey[Ô])
Dim command As SqlCommand = conect.CreateCommand
Dim dataReader As SqlDataReader
Public Sub open()
conect.Open()
End Sub
Public Sub executeQuery(ByVal query As String)
Me.command.CommandText = query
Me.command.ExecuteNonQuery()
End Sub
Public Function getResult() As System.Data.DataTable
Dim dataTable As DataTable
dataTable = New DataTable()
dataReader = Me.command.ExecuteReader(CommandBehavior.CloseConnection)
dataTable.Load(dataReader, LoadOption.OverwriteChanges)
dataReader.Close()
dataReader.Dispose()
conect.Close()
Return (dataTable)
End Function
Public Sub close()
If ((Me.conect Is Nothing) = False) Then
If (Me.conect.State = ConnectionState.Open) Then
Me.conect.Close()
End If
End If
End Sub
End Class
Essa ai e minha
pega ai
abraços
Public Class Conexaobd
Dim conect As New SqlConnection([Ô]Data Source=SERVIDOR01\SQLEXPRESS;AttachDbFilename=d:\bd\LOJA.mdf;user id=sa;password=masterkey[Ô])
Dim command As SqlCommand = conect.CreateCommand
Dim dataReader As SqlDataReader
Public Sub open()
conect.Open()
End Sub
Public Sub executeQuery(ByVal query As String)
Me.command.CommandText = query
Me.command.ExecuteNonQuery()
End Sub
Public Function getResult() As System.Data.DataTable
Dim dataTable As DataTable
dataTable = New DataTable()
dataReader = Me.command.ExecuteReader(CommandBehavior.CloseConnection)
dataTable.Load(dataReader, LoadOption.OverwriteChanges)
dataReader.Close()
dataReader.Dispose()
conect.Close()
Return (dataTable)
End Function
Public Sub close()
If ((Me.conect Is Nothing) = False) Then
If (Me.conect.State = ConnectionState.Open) Then
Me.conect.Close()
End If
End If
End Sub
End Class
Essa ai e minha
pega ai
abraços
Pessoal,
O exemplo do colega acima ajuda bastante.
Mas, o meu problema'são os métodos de Create,Update e delete.
Algum colega, pode me dizer o que esta errado na minha classe,
para que os métodos Create,Update e delete não estejam funcionando????
O exemplo do colega acima ajuda bastante.
Mas, o meu problema'são os métodos de Create,Update e delete.
Algum colega, pode me dizer o que esta errado na minha classe,
para que os métodos Create,Update e delete não estejam funcionando????
Tópico encerrado , respostas não são mais permitidas