Usuário com melhor resposta
Updatede tabela Access em VB2008

Pergunta
-
Estou desenvolvendo um rotina para alterar um campo (Validade) de uma tabela Access em VB2008. Arorina é a seguinte:
Imports System
Imports System.Data.OleDb
Public Class Validade
Private Sub Validade_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'SocioBeneficiosDataSet.Socios' table. You can move, or remove it, as needed.
Dim Conexao As OleDbConnection
Conexao = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;DataSource=c:\Validade\validade\Validade\SocioBeneficios.mdb")
Try
Conexao.Open()
Catch ex As Exception
' MsgBox("ex.GetBaseException")
End Try
Dim daSocios As New OleDbDataAdapter
Dim scomando As String
scomando = ("Select * from Socios")
Dim dsTeste As New DataSet("Socios")
Dim objCommandBuilder As New OleDb.OleDbCommandBuilder(daSocios)
daSocios.FillSchema(dsTeste, SchemaType.Source, "Clientes")
daSocios.Fill(dsTeste, "Socios")
'Alterar dados
daSocios.Update(dsTeste, "Socios")
End Sub
Ao executa-la recebo aseguinte mensagem:
The SelectCommand property has not been initialized before calling 'FillSchema'.
O que está errado? Sou iniciante em VB2008
Grato por ajuda
Respostas
-
Prezado,
Acredito que estes exemplos te ajudarão:
http://www.startvbdotnet.com/ado/msaccess.aspx
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 25 de fevereiro de 2010 12:02
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 3 de março de 2010 13:10
-
Curupira,
No seu código tem algumas coisas fora de ordem,
Você abre e fecha o Try e Cath, apenas para abrir a conexão, você pode colocar todo o código de consulta ou update dentro.
outra coisa que notei é que você está querendo trabalhar com DataAdapter, então segue um exemplo.
http://www.macoratti.net/vbn_dat1.htm
Pois os exemplos que o Andre lhe passou utiliza apenas o Data Reader.
att,
Fernanda
“Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 2 de março de 2010 11:56
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 3 de março de 2010 13:09
Todas as Respostas
-
-
Prezado,
Acredito que estes exemplos te ajudarão:
http://www.startvbdotnet.com/ado/msaccess.aspx
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima- Sugerido como Resposta AndreAlvesLimaModerator quinta-feira, 25 de fevereiro de 2010 12:02
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 3 de março de 2010 13:10
-
Dim ok As String = "Select * from Table_OBS"If DataSet1.HasChanges() ThenDim command_builder As SqlCommandBuilder' Create the DataAdapter.Dim data_adapter As New SqlDataAdapter(ok, My.Settings.ConnectMe)' Map Table to Contacts.data_adapter.TableMappings.Add("Table", "Table_OBS")' Make the CommandBuilder generate the' insert, update, and delete commands.command_builder = New SqlCommandBuilder(data_adapter)data_adapter.Update(DataSet1)End If
Just Be Humble Malange! -
Estou desenvolvendo um rotina para alterar um campo (Validade) de uma tabela Access em VB2008. Arorina é a seguinte:
Andre Alves Lima
Imports System
Imports System.Data.OleDb
Public Class Validade
Private Sub Validade_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'SocioBeneficiosDataSet.Socios' table. You can move, or remove it, as needed.
Dim Conexao As OleDbConnection
Conexao = New OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0;DataSource=c:\Validade\validade\Validade\SocioBeneficios.mdb")
Try
Conexao.Open()
Catch ex As Exception
' MsgBox("ex.GetBaseException")
End Try
Dim daSocios As New OleDbDataAdapter
Dim scomando As String
scomando = ("Select * from Socios")
Dim dsTeste As New DataSet("Socios")
Dim objCommandBuilder As New OleDb.OleDbCommandBuilder(daSocios)
daSocios.FillSchema(dsTeste, SchemaType.Source, "Clientes")
daSocios.Fill(dsTeste, "Socios")
'Alterar dados
daSocios.Update(dsTeste, "Socios")
End Sub
Ao executa-la recebo aseguinte mensagem:
The SelectCommand property has not been initialized before calling 'FillSchema'.
O que está errado? Sou iniciante em VB2008
Grato por ajuda
Segui o exemplo que me sugeriu para recuperar registros no site:
Entretanto o programa nãp listou os campos nas textbox.
No debug no output recebi a seguinte mensagem repetida varias vezes(suponho que uma para cada registro) :
"A first chance exception of type 'System.InvalidCastException' occurred in WindowsApplication1.exe"
Como o programa não executou fiquei sem saber o que fazer.
Alguma nova ajuda?
Grato desde já
-
Curupira,
No seu código tem algumas coisas fora de ordem,
Você abre e fecha o Try e Cath, apenas para abrir a conexão, você pode colocar todo o código de consulta ou update dentro.
outra coisa que notei é que você está querendo trabalhar com DataAdapter, então segue um exemplo.
http://www.macoratti.net/vbn_dat1.htm
Pois os exemplos que o Andre lhe passou utiliza apenas o Data Reader.
att,
Fernanda
“Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”.- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 2 de março de 2010 11:56
- Marcado como Resposta Fernanda SimõesModerator quarta-feira, 3 de março de 2010 13:09