Hola gente.
Quisiera saber si alguien puede darme uan mano con esto.
El tema es el siguiente, nunca uso datasets pero para este proyecto no me quedo otra. El tema es que lleno el datagrid con los datos desde adodb a traves de un dataset pero no hay forma de grabar el contenido del DS en la base de datos.
Hice 1000000 pruebas y todas tiran un resultado diferente (de error).
Pongo el codigo aca a ver si alguien descubre porque no puedo grabar las modificaciones a la base ya sea que ingrese un nuevo dato en alguna columna o modifique uno que ya esta cargado.
Gracias!
Código:
Dim ds As New DataSet
Dim ol As New OleDb.OleDbDataAdapter
Dim cn As New ADODB.Connection
Dim rs2 As New ADODB.Recordset
Private Sub Datos_Ver_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Top = (frm1.Height / 2) + frm1.Top - (Me.Height / 2)
Me.Left = (frm1.Width / 2) + frm1.Left - (Me.Width / 2)
cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & nombrebase & ";Persist Security Info=False") ' note 5323 is the name of dbase
rs2.Open(tablanombre, cn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
ds.Tables.Add(tablanombre)
ol.Fill(ds.Tables(tablanombre), rs2)
ds.DataSetName = cn.ConnectionString
Me.MSGrid.DataSource = ds.Tables(tablanombre)
cn.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim SQLString As String, connstring As String
connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & nombrebase & ";Persist Security Info=False"
SQLString = "Select * From " & tablanombre
Dim DBDataAdapter As New OleDb.OleDbDataAdapter(SQLString, connstring)
Dim DBUpdateCommand As New OleDb.OleDbCommandBuilder(DBDataAdapter)
DBDataAdapter.Update(ds, tablanombre)
Me.Close()
End Sub