Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2011, 06:13
MaRiTo87
 
Fecha de Ingreso: diciembre-2010
Mensajes: 18
Antigüedad: 14 años
Puntos: 0
Problema con modificar

Bueno la duda es la siguiente tengo un error al modificar y no encuentro cual es el problema ya que la funcion creo que no esta mal, lo que tengo que hacer es seleccionar una fila del datagridview y al precionar un boton cambiar un valor de una columna de pendiente a realizado pero esto me esta generando un error que buscando tampoco eh logrado ayar cual sea el problema.


El error es : "No coinciden los tipos de datos en la expresion de criterios."





aca les dejo mi codigo en el form:



Private Sub BtnRealizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnRealizar.Click
Dim resp As DialogResult

Try

resp = MessageBox.Show("¿Seguro que desea realizar este Pedido?", "Realizar", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If resp = Windows.Forms.DialogResult.Yes Then
Seleccion()

If Me.MigrillaListar.SelectedRows.Count > 0 Then
Dim f As New VisualizacionParaRealizar()
Dim Fila As DataGridViewRow ' variable utilizada para recorrer un For Each
Dim dr As DataRow
Dim fechaVencimiento As Date
Dim Estado As String = "Realizado"
'Asignamos a la variable dv, el contenido de la grilla MiGrillaListar (Como un Puntero)


Dim dv As DataView = DirectCast(MigrillaListar.DataSource, DataView)

'Copiamos la estructura de la grilla (cantidad, nombres y tipo de Columnas)

f.TablaPedidos = dv.Table.Clone

'Usamos un For Each para recorrer cada una de las filas seleccionadas de MiGrillaListar
For Each Fila In Me.MigrillaListar.SelectedRows

'Creamos una nueva fila con la estructura correspondiente y la asignamos a la variable temporal "dr"
dr = f.TablaPedidos.NewRow

'Ahora recorremos cada una de las celdas de la fila
For i = 0 To Fila.Cells.Count - 1
'Copiamos de manera manual el contenido de cada una de las celdas
dr.Item(i) = Fila.Cells(i).Value

Next



miSistema.ModificarEstado(Fila.Cells(1).Value, Fila.Cells(2).Value, Fila.Cells(3).Value, Fila.Cells(4).Value, Fila.Cells(5).Value, Fila.Cells(6).Value, Fila.Cells(7).Value, Fila.Cells(8).Value, Fila.Cells(9).Value, fechaVencimiento, Fila.Cells(11).Value, Fila.Cells(12).Value, Fila.Cells(13).Value, Fila.Cells(14).Value, Fila.Cells(16).Value, Estado)

Next


End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message.ToString, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class



Y este es mi codigo Modificar:

Public Overrides Sub Modificar(ByVal Objeto As Object)

Dim unPedido As Pedido = CType(Objeto, Pedido)
Dim unaConnection As OleDbConnection
unaConnection = Me.Conectar

'Carga los Pedidos en un DataSet
Dim unDataSetPedido As New DataSet
Dim unDataAdapterPedido As New OleDbDataAdapter("SELECT * FROM Pedido WHERE NroFactura = " & CStr(CType(Objeto, Pedido).NroFactura), unaConnection)
unDataAdapterPedido.Fill(unDataSetPedido, "Pedido")

'Agrega la nueva fila
Dim unaFila As DataRow = unDataSetPedido.Tables(0).Rows(0)
Dim unCommandBuilder As New OleDbCommandBuilder(unDataAdapterPedido)
unaFila.Item("Estado") = unPedido.Estado

'Actualiza
unDataAdapterPedido.Update(unDataSetPedido, "Pedido")

'Libera recursos
unCommandBuilder.Dispose()
unDataAdapterPedido.Dispose()
unDataSetPedido.Dispose()

unaConnection.Dispose()

End Sub

el error se genera cuando hace el fill de unDataAdapterPedido
ojala puedan ayudarme!

Última edición por MaRiTo87; 09/03/2011 a las 06:46