Buenas.
Tengo un form en el que muestro los datos de una fila de un
dataset. Quiero editar los datos de dicha fila y que posteriormente se
carguen los datos actualizados a la BD.
El problema es que al ejecutar el codigo que actualiza la fila
del dataset se me muestra el siguiente error:
+++++++++++
Excepción no controlada del tipo
'System.InvalidOperationException' en system.data.dll
Información adicional: La generación SQL dinámica para
UpdateCommand no es compatible con SelectCommand, que no devuelve
ninguna información sobre columnas clave.
+++++++++++
El código que se ejecuta, y donde se supone que hay algo mal,
es el siguiente:
+++++++++++++++++++++++++
Dim objAdaptadorDatos As New
System.Data.OleDb.OleDbDataAdapter(strSQLConx, objConx)
'Defino el DataSet y lo relleno sólo con la linea a modificar.
Dim objDS As New DataSet("NombreDataSet")
Dim objCommandBuilder As New
OleDb.OleDbCommandBuilder(objAdaptadorDatos)
objAdaptadorDatos.MissingSchemaAction MissingSchemaAction.AddWithKey
objAdaptadorDatos.Fill(objDS, "NombreDataSet")
'Ahora "extraigo" la fila para actualizarla.
Dim objTabla As DataTable
objTabla = objDS.Tables("OrdenTrabajo")
Dim objFila As DataRow
objFila = objTabla.Rows(0) 'El DataSet sólo contiene la fila a
editar, insisto.
objFila.BeginEdit()
[Aquí se asignan los datos de las cajas de texto a cada uno de
los campos]
objFila.EndEdit()
'Finalmente cargo el DataSet actualizado en la BD.
objAdaptadorDatos.Update(objDS, "NombreDataSet")
objConx.Close()
++++++++++++++++++++++++++
¿Alguien sabe dónde puede estar el error?
Salu2. Lope.
Leer las respuestas