Fallo al actualizar datos en la tabla

09/08/2004 - 11:43 por Ximo | Informe spam
Alguien me puede explicar ¿por qué después de ejecutar esta línea:

DataAdapter.Update(DataSet, "base de datos" )

No se actualizan los datos de la tabla?

Preguntas similare

Leer las respuestas

#1 Tristan
09/08/2004 - 12:40 | Informe spam
Pues realmente con esa información que das, no.

Hay cientos de causas posibles. Puede que los comandos de
actualización no sean correctos. Puede que hagas
previamente un AcceptChanges sobre el DataSet. Si
trabajas con enlace a datos, tal vez te falte llamar a
EndEdit, etc... También podrías probar por si acaso a
utilizar la sobrecarga de Update que utiliza un DataTable
y no un DataSet.
Respuesta Responder a este mensaje
#2 Carlos Durán Urenda
09/08/2004 - 17:08 | Informe spam
lo mas probable es que no tienes configurados los comandos InsertCommand,
UpdateCommand y DeleteCommand del Adaptador de datos, consulta la ayuda
acerca de estos comandos y del OldbCommandBuilder o el SqlCommandBuilder,
dependiendo del caso

Tambien puedes ver mi respuesta al mensaje "¿Alguien sabe por que no graba
el Update?" hecha por fernando el 05/07/2004



Saludos
Carlos Durán

"Ximo" escribió en el mensaje
news:
Alguien me puede explicar ¿por qué después de ejecutar esta línea:

DataAdapter.Update(DataSet, "base de datos" )

No se actualizan los datos de la tabla?


Respuesta Responder a este mensaje
#3 Ximo
10/08/2004 - 10:44 | Informe spam
Me.DataAdapta.UpdateCommand = New SqlCommand("UPDATE Clientes SET
CodCli = @CodCli " & _
"WHERE CodCli = @CodCli",
Me.conecta)

Me.DataAdapta.UpdateCommand.Parameters.Add("@CocCli",
SqlDbType.NVarChar, 6, "CodCli")

Dim workParm As SqlParameter DataAdapta.UpdateCommand.Parameters.Add("@CodCli", SqlDbType.Text)



DataAdapta.Fill(Me.Dataset, "Clientes")

Dim cRow As DataRow = Me.Dataset.Tables("Clientes").Rows(0)
cRow("CodCli") = "666666"

DataAdapta.Update(Me.Dataset, BD)
cRow.EndEdit()

'Están todo definido

"Carlos Durán Urenda" escribió en el mensaje
news:
lo mas probable es que no tienes configurados los comandos InsertCommand,
UpdateCommand y DeleteCommand del Adaptador de datos, consulta la ayuda
acerca de estos comandos y del OldbCommandBuilder o el SqlCommandBuilder,
dependiendo del caso

Tambien puedes ver mi respuesta al mensaje "¿Alguien sabe por que no graba
el Update?" hecha por fernando el 05/07/2004



Saludos
Carlos Durán

"Ximo" escribió en el mensaje
news:
> Alguien me puede explicar ¿por qué después de ejecutar esta línea:
>
> DataAdapter.Update(DataSet, "base de datos" )
>
> No se actualizan los datos de la tabla?
>
>


Respuesta Responder a este mensaje
#4 Jose Carlos
10/08/2004 - 16:02 | Informe spam
¿Estas utilizando el mismo parametro para Selecccionar el registro a cambiar
Where CodCli= @CodCli y para cambiarlo CodCli = @CodCli?

"Ximo" escribió en el mensaje
news:

Me.DataAdapta.UpdateCommand = New SqlCommand("UPDATE Clientes SET
CodCli = @CodCli " & _
"WHERE CodCli = @CodCli",
Me.conecta)

Me.DataAdapta.UpdateCommand.Parameters.Add("@CocCli",
SqlDbType.NVarChar, 6, "CodCli")

Dim workParm As SqlParameter > DataAdapta.UpdateCommand.Parameters.Add("@CodCli", SqlDbType.Text)



DataAdapta.Fill(Me.Dataset, "Clientes")

Dim cRow As DataRow = Me.Dataset.Tables("Clientes").Rows(0)
cRow("CodCli") = "666666"

DataAdapta.Update(Me.Dataset, BD)
cRow.EndEdit()

'Están todo definido

"Carlos Durán Urenda" escribió en el mensaje
news:
> lo mas probable es que no tienes configurados los comandos


InsertCommand,
> UpdateCommand y DeleteCommand del Adaptador de datos, consulta la ayuda
> acerca de estos comandos y del OldbCommandBuilder o el


SqlCommandBuilder,
> dependiendo del caso
>
> Tambien puedes ver mi respuesta al mensaje "¿Alguien sabe por que no


graba
> el Update?" hecha por fernando el 05/07/2004
>
>
>
> Saludos
> Carlos Durán
>
> "Ximo" escribió en el mensaje
> news:
> > Alguien me puede explicar ¿por qué después de ejecutar esta línea:
> >
> > DataAdapter.Update(DataSet, "base de datos" )
> >
> > No se actualizan los datos de la tabla?
> >
> >
>
>


Respuesta Responder a este mensaje
#5 Tristan
10/08/2004 - 17:38 | Informe spam
Ese comando no parece correcto. Estás dando @CodCli como valor del campo
CodCli, para aquellas filas que contengan @CodCli como valor de CodCli. Es
decir ese comando no hace nada. ¿Que pretendes actualizar?

¿Pero por qué no utilizas los comandos que genera el asistente para crear un
DataAdapter. Al menos utiliza un objeto CommandBuilder para crearlos. Sin
saber como, no es tan simple crear los comandos manualmente.

Ahhh, y realmente no es necesario un DataSet para eso. ¿Por qué no utilizas
directamente el comando?:

dim comando as New SqlCommand( _
"UPDATE Clientes " & _
"SET CodCli = @NuevoCodCli " & _
"WHERE CodCli = @CodCli", Me.conecta)
comando.Parameters.Add("@CodCli", 1)
comando.Parameters.Add("@NuevoCodCli", 666666)
Me.Conecta.Open()
Comando.ExecuteNonQuery()
Me.Conecta.Close()

O sin utilizar parámetros, pese a que no sea recomendable:

dim comando as New SqlCommand( _
"UPDATE Clientes " & _
"SET CodCli = 666666 " & _
"WHERE CodCli = 1", Me.conecta)
Me.Conecta.Open()
Comando.ExecuteNonQuery()
Me.Conecta.Close()


Por cierto, el EndEdit no es necesario, pero de utilizarlo, detrás del
Update no serviría de nada.

Juan Carlos Badiola
MVP - C#
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida