Foros del Web » Programación para mayores de 30 ;) » .NET »

DataAdapter.Update()

Estas en el tema de DataAdapter.Update() en el foro de .NET en Foros del Web. Hola de nuevo, es realmente apasionante esto de .Net cuando realmente se le empieza a tomar el gusto a la POO y la funcionalidad que ...
  #1 (permalink)  
Antiguo 18/08/2005, 21:11
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
DataAdapter.Update()

Hola de nuevo, es realmente apasionante esto de .Net cuando realmente se le empieza a tomar el gusto a la POO y la funcionalidad que trae esta tecnología (que antes no me gustaba para nada). Por eso es que vengo con un nuevo problema de aprendizaje. Cargo un Datagrid con los datos de un Dataset de una base de datos. Además, tengo un par de campos para agregar nuevos registros al DS. Y también un botón el cual dentro de su procedimiento (sub) llama al método Update() del DataAdapter. El problema es el siguiente: cuando se cargan los datos en el DataGrid y aprieto el botón guardar, no da ningún error, pero claro, todavía no modifiqué el DataSet. Cuando agrego un nuevo registro al DS y luego intento llamar al método Update(), entonces ahí me da error. Precisamente este:

Excepción no controlada del tipo 'System.Data.OleDb.OleDbException' en system.data.dll

ADemás de eso, el IDE me marca el siguiente comentario:

Esté código hace referencia a otra función. Cuando haya terminado dicha función, esta será la siguiente instrucción que se ejecute.

El código de referencia que me marca el comentario es justamente el que llamo al Update() del DataAdapter.
Alguien sabe por que me está pasando eso?.
Muchas gracias.
__________________
Add, never Remove
  #2 (permalink)  
Antiguo 19/08/2005, 00:17
 
Fecha de Ingreso: enero-2005
Ubicación: Benifaió (Valencia)
Mensajes: 319
Antigüedad: 19 años, 10 meses
Puntos: 0
No tengo ni idea, pero yo tengo el mismo problema que tu, y al final he tenido que utilizar una consulta de actualizacion de SQL para solucionar el problema.

Si alguien sabe cual es problema, nos seria de gran ayuda xD
  #3 (permalink)  
Antiguo 19/08/2005, 09:22
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
Realmente sería de gran ayuda si alguien nos pudiera comentar algo. Igualmente fredy666 si llego a encontrar algo en la red, te lo paso.
Saludos!.
__________________
Add, never Remove
  #4 (permalink)  
Antiguo 19/08/2005, 13:59
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 7 meses
Puntos: 7
http://forosdelweb.com/showthread.php?t=288148

OJALA QUE LES SIRVA
  #5 (permalink)  
Antiguo 19/08/2005, 14:51
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
Hola FNX_NET, gracias por la ayuda. Te comento como me fue. Al final el error desaparecio, pero no me hace la inserción de registros. La linea clave para que el error desaparezca es DataSet.AcceptChanges(). Ahora, hay una cosa que no hice como lo habías hecho vos, y quizás por eso no me esté haciendo el insert. Tu definis una clave primaria de la tabla del DS con la variable "llaveprimaria" (si mal no recuerdo), que es lo que contiene esa variable?, contiene un DataColumn?. Quizás para hacer actualizaciones, eliminaciones e inserciones, necesite definir una clave primaria de la tabla del DS que se va a actualizar.
Espero que puedas ayudarnos.
Saludos!:
__________________
Add, never Remove
  #6 (permalink)  
Antiguo 19/08/2005, 15:09
Avatar de FNX_NET  
Fecha de Ingreso: marzo-2004
Ubicación: EN EL INFIERNO.....
Mensajes: 1.707
Antigüedad: 20 años, 7 meses
Puntos: 7
Haber La Variable Cable Primaria Hace Referencia A La Primari Key De La Base De Datos, Aunque Yo Cuando Recien Empese Trabaje Con Una Base De Datos En Access Y Lo Ahcia Haci Nomas Sin Definir La Clave Principal, Pero Si No Trabajas Con Access Deverias Definir La Variable Como Aparece Alli,

Ademas Te Suguiero Que Veas Los Otros Ejemplo Que Hay En Los Posteos De Los Demas , Ocupando La Opcion Buscar Yo Creo Que Eso Tambien Te Puede Ayudar
  #7 (permalink)  
Antiguo 20/08/2005, 12:22
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 7 meses
Puntos: 9
Hola, si, estoy trabajando con Access. He encontrado algo de lógica al error, que quizás a alguien le sea útil para poder ayudarnos un poco más. Cuando actualizo una columna del DataGrid, y mando a llamar al método Update(), todo funciona correctamente. Ahora, cuando agrego nuevos elementos al DataSet, es cuando empieza a fallar. El error salta cuando el RowState de alguna fila es Added, por eso, cuando agrego la linea DataSet.AcceptChanges(), no me da error (tampoco me hace la inserción de registros), porque transforma todos los rowState en UnChanged. Entonces, sabiendo esto, quizás este construyendo mal el InsertCommand del adaptador, lo hago de esta forma:

Dim InsertCommand As New OleDbCommand()
Dim sqlInsertStatement As String

sqlInsertStatement = "INSERT INTO PRO_PRODUCTOS (PRO_NOMBRE) VALUES (@PRO_NOMBRE)"

InsertCommand.CommandText = sqlInsertStatement
InsertCommand.CommandType = CommandType.Text
InsertCommand.Parameters.Add("@PRO_NOMBRE", OleDbType.VarChar, 40, "PRO_NOMBRE")
InsertCommand.Connection = Conn

DataAdapter.InsertCommand = InsertCommand

Algún comentario?
Muchas gracias.
__________________
Add, never Remove
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:48.