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

Error en Dataset.Update

Estas en el tema de Error en Dataset.Update en el foro de .NET en Foros del Web. Hola. Tengo un problema... He llenado una base de datos access con un par de datos, los campos son: id-autonumerico txt-texto mm-memo ole-objetoOle fecha-fecha/hora Ninguno ...
  #1 (permalink)  
Antiguo 30/06/2005, 00:21
 
Fecha de Ingreso: junio-2002
Mensajes: 212
Antigüedad: 21 años, 10 meses
Puntos: 0
Error en Dataset.Update

Hola.
Tengo un problema...
He llenado una base de datos access con un par de datos, los campos son:
id-autonumerico
txt-texto
mm-memo
ole-objetoOle
fecha-fecha/hora
Ninguno de estos campos es requerido.
El datagrid lo muestra perfecto, me carga todo bien.

He cargado la base con un datagrid (salvo el campo de objeto OLE que queda NULL) a traves de la siguiente rutina que es la que utilizo para que me guarde los cambios que se realizan sobre el datagrid:
Código:
        Try
            Dim SQLString As String, connstring As String
            connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & nombrebase & ";Persist Security Info=False"
            SQLString = "Select * From " & tabla2
            Dim DBDataAdapter As New OleDb.OleDbDataAdapter(SQLString, connstring)
            Dim DBUpdateCommand As New OleDb.OleDbCommandBuilder(DBDataAdapter)
            If mfecha <> "" Then
                For Each r As DataRow In ds.Tables(0).Rows
                    ''MsgBox(mfecha)
                    If IsDBNull(r(mfecha)) Then r(mfecha) = Date.Now
                Next
            End If
            DBDataAdapter.Update(ds, tabla2)
            Me.Close()
            Exit Sub
        Catch Ex As Exception
            MsgBox(Ex.Message)
        End Try
El problem que estoy teniendo es que en este caso, si borro una fila me da un error en el ds.update, el error dice:
NO SE PUEDE TENER ACCESO A LA INFORMACION ELIMINADA DE UNA FILA

Con otras bases de datos no sucede, cargo, modifico y borro info hasta que de golpe vuelve a aparecer este error.
Alguien sabe porque puede ser que aparezca?
Muchas gracias!
__________________
Simuladores y Examenes Cisco, Herramientas de Red Online - Tecnologia y Redes
  #2 (permalink)  
Antiguo 30/06/2005, 01:25
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 19 años, 6 meses
Puntos: 1
DBDataAdapter.Update(ds, tabla2) -> tabla2 no tendria que ir entre comillas?


Despues de borrar una fila y antes de actualizar los cambios haces esto:
For Each r As DataRow In ds.Tables(0).Rows
''MsgBox(mfecha)
If IsDBNull(r(mfecha)) Then r(mfecha) = Date.Now
Next
Has probado a kitar estas instrucciones por si tienen algo que ver?

El error da justo en la instruccion "DBDataAdapter.Update(ds, tabla2)" o antes?
  #3 (permalink)  
Antiguo 30/06/2005, 09:46
 
Fecha de Ingreso: junio-2002
Mensajes: 212
Antigüedad: 21 años, 10 meses
Puntos: 0
El error esta aca:

If IsDBNull(r(mfecha)) Then r(mfecha) = Date.Now

Lo que hago en esta parte es verificar que todas las filas cuyas columnas tengan fecha no queden con valores nulos, pero por algun motivo me esta verificando la fila borrada tambien :S
mfecha=nombre del campo fecha
Cuando la borro a la fila no deberia desaparecer del DS?
Abrazo
__________________
Simuladores y Examenes Cisco, Herramientas de Red Online - Tecnologia y Redes
  #4 (permalink)  
Antiguo 30/06/2005, 09:56
 
Fecha de Ingreso: octubre-2004
Mensajes: 878
Antigüedad: 19 años, 6 meses
Puntos: 1
Cita:
Iniciado por alehawk
Cuando la borro a la fila no deberia desaparecer del DS?
Pues eso pensaba yo pero parece que no... Puedes enseñar el codigo con el que borras la fila a ver si veo algo raro?
  #5 (permalink)  
Antiguo 30/06/2005, 09:59
Avatar de moNTeZIon  
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 4 meses
Puntos: 9
Antes de preguntarle si es Null, podrías preguntarle esto:

If r.RowState = DataRowState.Deleted Then

Así, si la fila está eliminada no ejecutará el código sobre ella...
Si, al eliminar la fila, te la marca como "Deleted" e imagino que todavía la tienes presente en el dataset, y será por eso te ejecuta el codigo sobre las eliminadas también.

Saludos y cuentanos a ver..
__________________
..:: moNTeZIon ::..
  #6 (permalink)  
Antiguo 30/06/2005, 10:05
 
Fecha de Ingreso: junio-2002
Mensajes: 212
Antigüedad: 21 años, 10 meses
Puntos: 0
Ya esta!!! si! funciono!
Montezion, era justamente esa linea la que faltaba, pasa que como no trabajo nunca con datasets ni datagrids no tenia la mas palida idea de que tenia que buscar!!!
Gracias a ambos por la ayuda y buena onda1
__________________
Simuladores y Examenes Cisco, Herramientas de Red Online - Tecnologia y Redes
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 01:05.