problemas al actualizar bd access desde data adapter
Publicado por Adrian (3 intervenciones) el 05/08/2011 16:10:55
Hola pues el problema que tengo viene de que puedo actualizar y añadir datos en el dataadapter o en el elemento table, pero cuando pulso el boton para guardar, no los añade a la base de datos real. O sea que solo modifico y añado en el control virtual que yo creo.
estas son las declaraciones
'declaraciones para el control ADO
Dim DireccionBD As String
Dim cnn As New OleDb.OleDbConnection
Dim dt As New DataTable
Dim da As New OleDb.OleDbDataAdapter
Dim ds As New DataSet
Dim cmd As New OleDb.OleDbCommand
'control de movimiento del dataadapter
Dim bs As New BindingSource
'Creamos la ruta de la bd
DireccionBD = Application.StartupPath + "\HARDZONE.accdb"
'abro la conexion con la bd
'cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DireccionBD & ";Persist Security Info=False"
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Admin\Documents\Visual Studio 2010\Projects\HARDZONE\HARDZONE\HARDZONE.accdb;Persist Security Info=False"
cnn.Open()
'creo el comando de ataque y lleno la tabla empleados
cmd.Connection = cnn
cmd.CommandText = "Select * from clientes"
cmd.CommandType = CommandType.TableDirect
da.SelectCommand = cmd
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
da.Fill(ds, "clientes") 'este comando me sobra para que el programa trabaje
da.Fill(dt)
'enlazamos el bingding navigator
bs.DataSource = dt 'asociamos la tabla al BS
' Enlazamos el control BindingNavigator al control BindingSource
BN1.BindingSource = bs
' enlazamos el control DataGridView al control BingdingSource
DataGridView1.DataSource = bs
' enlazamos los textboxes al BingdingSource
TextBox1.DataBindings.Add("Text", bs, "NOMBRE")
TextBox2.DataBindings.Add("Text", bs, "APELLIDOS")
bs.MoveFirst()
Button1.Focus()
y ahora tras esto, pulso el boton nuevo registro
bs.AddNew()
y tengo un boton aceptar y cancelar, en el boton aceptar tengo esto:
bs.EndEdit()
da.AcceptChangesDuringUpdate = True
dt.AcceptChanges()
da.Update(ds, "Clientes") 'CREO QUE MI ERROR ESTA AQUI
Button1.Focus()
Solia programar en VStudio 6, y todo esta supercambiado, por favor ayudenme
estas son las declaraciones
'declaraciones para el control ADO
Dim DireccionBD As String
Dim cnn As New OleDb.OleDbConnection
Dim dt As New DataTable
Dim da As New OleDb.OleDbDataAdapter
Dim ds As New DataSet
Dim cmd As New OleDb.OleDbCommand
'control de movimiento del dataadapter
Dim bs As New BindingSource
'Creamos la ruta de la bd
DireccionBD = Application.StartupPath + "\HARDZONE.accdb"
'abro la conexion con la bd
'cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & DireccionBD & ";Persist Security Info=False"
cnn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Admin\Documents\Visual Studio 2010\Projects\HARDZONE\HARDZONE\HARDZONE.accdb;Persist Security Info=False"
cnn.Open()
'creo el comando de ataque y lleno la tabla empleados
cmd.Connection = cnn
cmd.CommandText = "Select * from clientes"
cmd.CommandType = CommandType.TableDirect
da.SelectCommand = cmd
da.MissingSchemaAction = MissingSchemaAction.AddWithKey
da.Fill(ds, "clientes") 'este comando me sobra para que el programa trabaje
da.Fill(dt)
'enlazamos el bingding navigator
bs.DataSource = dt 'asociamos la tabla al BS
' Enlazamos el control BindingNavigator al control BindingSource
BN1.BindingSource = bs
' enlazamos el control DataGridView al control BingdingSource
DataGridView1.DataSource = bs
' enlazamos los textboxes al BingdingSource
TextBox1.DataBindings.Add("Text", bs, "NOMBRE")
TextBox2.DataBindings.Add("Text", bs, "APELLIDOS")
bs.MoveFirst()
Button1.Focus()
y ahora tras esto, pulso el boton nuevo registro
bs.AddNew()
y tengo un boton aceptar y cancelar, en el boton aceptar tengo esto:
bs.EndEdit()
da.AcceptChangesDuringUpdate = True
dt.AcceptChanges()
da.Update(ds, "Clientes") 'CREO QUE MI ERROR ESTA AQUI
Button1.Focus()
Solia programar en VStudio 6, y todo esta supercambiado, por favor ayudenme
Valora esta pregunta


0