Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Problema con consulta de actualizacion

Estas en el tema de Problema con consulta de actualizacion en el foro de Visual Basic clásico en Foros del Web. Tengo un datagrid filtrado entre fechas con una columna checkbox. Me interesa que se actualice la base de datos con los checkbox marcados, tengo el ...
  #1 (permalink)  
Antiguo 06/06/2008, 10:06
 
Fecha de Ingreso: abril-2008
Mensajes: 19
Antigüedad: 16 años
Puntos: 0
Problema con consulta de actualizacion

Tengo un datagrid filtrado entre fechas con una columna checkbox. Me
interesa que se actualice la base de datos con los checkbox marcados, tengo
el siguiente código:

Dim conexion As OleDbConnection = New OleDbConnection("Provider=
Microsoft.Jet.OLEDB.4.0;Data Source=C:\FACTURACION\FACTURACION.MDB")

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select
FACTURAR,NUMEROALBARAN,FECHAALBARAN FROM ALBARAN WHERE FECHAALBARAN
>=@FINICIO AND FECHAALBARAN<=@FFIN ORDER BY FECHAALBARAN", conexion)
Dim ds As DataSet = New DataSet
da.SelectCommand.Parameters.AddWithValue("@FINICIO ",
Me.FINICIO.Value.Date)
da.SelectCommand.Parameters.AddWithValue("@FFIN", Me.FFIN.Value.Date)
da.Fill(ds)
Me.DataGridFACTURADO.DataSource = ds.Tables(0)

Dim dt As DataTable = DirectCast(DataGridFACTURADO.DataSource,
DataTable)



For Each row As DataRow In dt.Rows

If Not row.IsNull("FACTURAR") Then
MessageBox.Show(row.Item("FACTURAR").ToString)


End If
Dim sql As String = "UPDATE ALBARAN SET FACTURAR=TRUE"
Dim cmd As New OleDbCommand(sql, conexion)
conexion.Open()

cmd.ExecuteNonQuery()


conexion.Close()


Next

He probado también con el where de esta forma:

Dim sql As String = "UPDATE ALBARAN SET FACTURAR=TRUE WHERE
FECHAALBARAN>=@FINICIO AND FECHAALBARAN<=@FFIN"

y en la línea:
For Each row As DataRow In dt.Rows

me da el siguiente error:
Referencia a objeto no establecida como instancia de un objeto.

Lo he probado con variables y me da el mismo error
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 09:26.