Act. datos en base de datos

05/10/2006 - 12:54 por angelo | Informe spam
Hola, estoy haciendo una aplicación en Visual Basic 2005.

Cuando el ejecuto el comando Update me da un error:

Update requiere que UpdateCommand sea valido

Cuando genero el adaptador de datos me dice:

Instrucción SELECT generada

Instrucción INSET generada

Pero no me dice nada del Update.


If Me.DataSet1.HasChanges() Then

ValMess = MessageBox.Show("Desea actualizar los Datos ? ", "Actualizar",
MessageBoxButtons.OKCancel, MessageBoxIcon.Information)

If ValMess = Windows.Forms.DialogResult.OK Then

Try

Me.DataFam.Update(DataSet1)

MessageBox.Show("Familias Actualizada")

Catch ex As System.InvalidOperationException

MsgBox(ex.ToString)

MessageBox.Show("No se actualizan los datos")

End Try

End If

End If



Muchas gracias
 

Leer las respuestas

#1 Luis Miguel Blanco
05/10/2006 - 13:59 | Informe spam
Hola Angelo

Prueba a crear un objeto CommandBuilder, que te construya automaticamente
para el adaptador, las sentencias necesarias para la tabla del dataset,
relativas a las operaciones de consulta, borrado y actualización. De esta
manera, cuando ejecutes el método Update() del adaptador, debido a que ya
tiene la sentencia de actualización, te debería de funcionar correctamente.

Te adjunto un bloque de código con un ejemplo:

'////////////////////////////////////
oConexion = New SqlConnection()
oConexion.ConnectionString = "Data Source=localhost;Initial
Catalog=Northwind;User ID=sa;Password="

oComando = New SqlCommand("SELECT * FROM Shippers", oConexion)

' crear un adaptador de datos que contenga el comando
oDataAdapter = New SqlDataAdapter(oComando)

' utilizar el generador de comandos para el DataAdapter
Dim oCommandBuilder As SqlCommandBuilder
oCommandBuilder = New SqlCommandBuilder(oDataAdapter)

' crear un dataset
oDataSet = New DataSet()

oConexion.Open()
' rellenar el dataset utilizando el adaptador
oDataAdapter.Fill(oDataSet, "Shippers")
oConexion.Close()

' mostrar el dataset en un datagridview
Me.grdDatos.DataSource = oDataSet
Me.grdDatos.DataMember = "Shippers"

'
' realizar operaciones con los datos
'

' actualizar cambios del dataset en la tabla de la base de datos

oDataAdapter.Update(oDataSet, "Shippers")
'////////////////////////////////////

Espero que te sea de utilidad.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"angelo" wrote:

Hola, estoy haciendo una aplicación en Visual Basic 2005.

Cuando el ejecuto el comando Update me da un error:

Update requiere que UpdateCommand sea valido

Cuando genero el adaptador de datos me dice:

Instrucción SELECT generada

Instrucción INSET generada

Pero no me dice nada del Update.


If Me.DataSet1.HasChanges() Then

ValMess = MessageBox.Show("Desea actualizar los Datos ? ", "Actualizar",
MessageBoxButtons.OKCancel, MessageBoxIcon.Information)

If ValMess = Windows.Forms.DialogResult.OK Then

Try

Me.DataFam.Update(DataSet1)

MessageBox.Show("Familias Actualizada")

Catch ex As System.InvalidOperationException

MsgBox(ex.ToString)

MessageBox.Show("No se actualizan los datos")

End Try

End If

End If



Muchas gracias



Preguntas similares