Necesita inicializar la propiedad dataadapter.selectcommand

18/09/2006 - 13:09 por Ira | Informe spam
Hola a todos,

Os adjunto mi código. Cuando lo ejecuto, me da el siguiente error "Necesita
inicializar la propiedad dataadapter.selectcommand

¿Una ayudita?



Function Grabar_Linea(ByVal lin As String)

Dim Conexion As OleDbConnection

Dim Ds As DataSet

Dim TablaAuxiliar As DataTable

Dim Adaptador As OleDbDataAdapter

Dim RegistroNuevo As DataRow

Dim cmb As OleDbCommandBuilder = New OleDbCommandBuilder(Adaptador)

'Conectar a la base de datos

Try

Conexion = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=" & "D:\Prueba\Estudios.mdb")

Catch ex As Exception

MessageBox.Show(ex.Message)

Exit Function

End Try

Ds = New DataSet

Adaptador = New OleDbDataAdapter("SELECT * FROM Auxiliar", Conexion)

Try

Adaptador.Fill(Ds, "Auxiliar")

Catch ex As Exception

MessageBox.Show("Error en Fill:" & vbCrLf & ex.Message)

End Try

TablaAuxiliar = Ds.Tables("Auxiliar")

RegistroNuevo = TablaAuxiliar.NewRow

RegistroNuevo("Codigo") = "mxkp2000"

cmb.GetUpdateCommand()

TablaAuxiliar.Rows.Add(RegistroNuevo)

Adaptador.Update(Ds, "Auxiliar")

TablaAuxiliar.AcceptChanges()

End Function
 

Leer las respuestas

#1 Alberto Poblacion
18/09/2006 - 15:04 | Informe spam
"Ira" wrote in message
news:%
Os adjunto mi código. Cuando lo ejecuto, me da el siguiente error
"Necesita inicializar la propiedad dataadapter.selectcommand

¿Una ayudita?



Problema de orden de sentencias.
Has puesto primero en el código la construcción de un
OleDbCommandBuilder conectado al Adaptador, y luego más abajo construyes el
adaptador asignándole la Select.
Tienes que hacerlo al revés, porque el OleDbCommandBuilder necesita
conocer la Select para poder generar el Insert, Delete y Update.


Dim cmb As OleDbCommandBuilder = New OleDbCommandBuilder(Adaptador)
[...]
Adaptador = New OleDbDataAdapter("SELECT * FROM Auxiliar", Conexion)

Preguntas similares