none
como insertar, actualizar y consultar una base de datos desde datagridview RRS feed

  • Pregunta

  • hola estoy trabajando en un programa q cuanta el tiempo de operaciones en un almacen y quisiera saber cual es el codigo para poder insertar datos desde un datagrid a access, todas las lineas inician solo con algunos datos y posteriormente se van llenando asi q al llenar un dato tambien quiero q se actualize la base de datos, por las tardes se cerrara la aplicacion y al otro dia necesito hacer una consulta para mostrar las facturas q no se terminaron

    espero y me puedan mostrar el codigo para poder hacer lo que necesito. al momento tengo este codigo pero solo guarda lineas completamente llenas y no actualiza nada

    espero su ayuda de antemano gracias

    Dim fac, prove, reci, alm, piez, ini, rece, veri, eti, ing, trans, st As String
            If dgvordenes.Rows.Count = 0 Then
                MessageBox.Show("insertar datos para poder actualizar", "tabla vacia", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            End If
            Using cnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\RODRIGO\Documents\control de almacen 1\colorear_Dgv despues de un tiempo\controlalmacen.accdb")
                cnn.Open()
                Try
                    For Each row As DataGridViewRow In dgvordenes.Rows
                        If String.IsNullOrEmpty(CStr(row.Cells(0).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(1).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(2).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(3).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(4).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(5).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(6).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(7).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(8).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(9).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(10).Value)) Or String.IsNullOrEmpty(CStr(row.Cells(11).Value)) Or (row.Cells(6).Value Is DBNull.Value) Or (row.Cells(7).Value Is DBNull.Value) Or (row.Cells(8).Value Is DBNull.Value) Or (row.Cells(9).Value Is DBNull.Value) Then
                            Dim sqln As String = "UPDATE ENTRADAS set FACTURA=@FACTURA,PROVEEDOR=@PROVEEDOR,RECIBIÓ=@RECIBIÓ,ALMACEN=@ALMACEN,PIEZAS=@PIEZAS,INICIO=@INICIO,RECEPCION=@RECEPCION,VERIFICACION=@VERIFICACION,ETIQUETADO=@ETIQUETADO,INGRESO=@INGRESO,TRANSCURRIDO=@TRANCURRIDO,STATUS=@STATUS where id=@FACTURA"
                            Dim comando As New OleDbCommand(sqln, cnn)
                            comando.Parameters.Clear()
                            comando.Parameters.AddWithValue("@FACTURA", CStr(row.Cells(0).Value))
                            comando.Parameters.AddWithValue("@PROVEEDOR", CStr(row.Cells(1).Value))
                            comando.Parameters.AddWithValue("@RECIBIÓ", CStr(row.Cells(2).Value))
                            comando.Parameters.AddWithValue("@ALMACEN", CStr(row.Cells(3).Value))
                            comando.Parameters.AddWithValue("@PIEZAS", CStr(row.Cells(4).Value))
                            comando.Parameters.AddWithValue("@INICIO", CStr(row.Cells(5).Value))
                            If String.IsNullOrEmpty(CStr(row.Cells(6).Value)) Then
                                comando.Parameters.AddWithValue("@RECEPCION", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@RECEPCION", CStr(row.Cells(6).Value))
                            End If
                            If String.IsNullOrEmpty(CStr(row.Cells(7).Value)) Then
                                comando.Parameters.AddWithValue("@VERIFICACION", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@VERIFICACION", CStr(row.Cells(7).Value))
                            End If
                            If String.IsNullOrEmpty(CStr(row.Cells(8).Value)) Then
                                comando.Parameters.AddWithValue("@ETIQUETADO", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@ETIQUETADO", CStr(row.Cells(8).Value))
                            End If
                            If String.IsNullOrEmpty(CStr(row.Cells(9).Value)) Then
                                comando.Parameters.AddWithValue("@INGRESO", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@INGRESO", CStr(row.Cells(9).Value))
                            End If
                            comando.Parameters.AddWithValue("@TRANSCURRIDO", CStr(row.Cells(10).Value))
                            comando.Parameters.AddWithValue("@STATUS", CStr(row.Cells(11).Value))
                            comando.ExecuteNonQuery()
                        Else
                            Dim sql As String = "INSERT INTO ENTRADAS(FACTURA,PROVEEDOR,RECIBIÓ,ALMACEN,PIEZAS,INICIO,RECEPCION,VERIFICACION,ETIQUETADO,INGRESO,TRANSCURRIDO,STATUS)VALUES(@FACTURA,@PROVEEDOR,@RECIBIÓ,@ALMACEN,@PIEZAS,@INICIO,@RECEPCION,@VERIFICACION,@ETIQUETADO,@INGRESO,@TRANSCURRIDO,@STATUS)"
                            Dim comando As New OleDbCommand(sql, cnn)
                            fac = CStr(row.Cells(0).Value)
                            prove = CStr(row.Cells(1).Value)
                            reci = CStr(row.Cells(2).Value)
                            alm = CStr(row.Cells(3).Value)
                            piez = CStr(row.Cells(4).Value)
                            ini = CStr(row.Cells(5).Value)
                            rece = CStr(row.Cells(6).Value)
                            veri = CStr(row.Cells(7).Value)
                            eti = CStr(row.Cells(8).Value)
                            ing = CStr(row.Cells(9).Value)
                            trans = CStr(row.Cells(10).Value)
                            st = CStr(row.Cells(11).Value)
                            comando.Parameters.AddWithValue("@FACTURA", fac)
                            comando.Parameters.AddWithValue("@PROVEEDOR", prove)
                            comando.Parameters.AddWithValue("@RECIBIÓ", reci)
                            comando.Parameters.AddWithValue("@ALMACEN", alm)
                            comando.Parameters.AddWithValue("@PIEZAS", piez)
                            comando.Parameters.AddWithValue("@INICIO", ini)
                            If String.IsNullOrEmpty(CStr(row.Cells(6).Value)) Then
                                comando.Parameters.AddWithValue("@RECEPCION", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@RECEPCION", rece)
                            End If
                            If String.IsNullOrEmpty(CStr(row.Cells(7).Value)) Then
                                comando.Parameters.AddWithValue("@VERIFICACION", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@VERIFICACION", veri)
                            End If
                            If String.IsNullOrEmpty(CStr(row.Cells(8).Value)) Then
                                comando.Parameters.AddWithValue("@ETIQUETADO", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@ETIQUETADO", eti)
                            End If
                            If String.IsNullOrEmpty(CStr(row.Cells(9).Value)) Then
                                comando.Parameters.AddWithValue("@INGRESO", DBNull.Value)
                            Else
                                comando.Parameters.AddWithValue("@INGRESO", ing)
                            End If
                            comando.Parameters.AddWithValue("@TRANSCURRIDO", trans)
                            comando.Parameters.AddWithValue("@STATUS", st)
                            comando.ExecuteNonQuery()
                        End If
                    Next
                Catch ex As Exception
                    MessageBox.Show("Error del Sistema" & vbCrLf & ex.Message, "No se puede actualizar la base de datos.", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
                End Try
            End Using

    martes, 4 de diciembre de 2012 0:02