none
Guardar datos seleccionados de una DataGridView en un DataTable RRS feed

  • Pregunta

  • Buenas Muchachos,

    el problema es el siguiente, tengo una grilla, la cual llene previamente con un dataset,  en la cual necesita que al seleccionar 1 o varios filas y al darle click a un boton me realice un insert a una tabla en oracle.

    entonces necesitaría como  obtener los registros de la grilla seleccionados y guardarlos en un dataset o datatable para posteriormente hacer el recorrido y generar los insert 

    les agradezco de antemano.

    martes, 5 de marzo de 2013 17:04

Respuestas

  • en la cual necesita que al seleccionar 1 o varios filas y al darle click a un boton me realice un insert a una tabla en oracle.

    recorre las rows seleccionadas, insertando los valores

        Using conn As New OracleConnection("<connection string>")
            conn.Open()
           
            Dim query As String = "INSERT INTO NombreTabla (campo1, campo2) VALUES (@param1, @param2)"
            Dim cmd As New OracleCommand(query, conn)
               
            For Each row As DataGridViewRow In dataGridView1.SelectedRows
    
                cmd.Parameters.Clear()
               
                cmd.Parameters.AddWithValue("@param1", CStr(row.Cells("nombrecol1").Value))
                cmd.Parameters.AddWithValue("@param2", CInt(row.Cells("nombrecol2").Value))
    
                cmd.ExecuteNonQuery()
            Next
        End Using
        
    End Sub

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    martes, 5 de marzo de 2013 17:31

Todas las respuestas

  • en la cual necesita que al seleccionar 1 o varios filas y al darle click a un boton me realice un insert a una tabla en oracle.

    recorre las rows seleccionadas, insertando los valores

        Using conn As New OracleConnection("<connection string>")
            conn.Open()
           
            Dim query As String = "INSERT INTO NombreTabla (campo1, campo2) VALUES (@param1, @param2)"
            Dim cmd As New OracleCommand(query, conn)
               
            For Each row As DataGridViewRow In dataGridView1.SelectedRows
    
                cmd.Parameters.Clear()
               
                cmd.Parameters.AddWithValue("@param1", CStr(row.Cells("nombrecol1").Value))
                cmd.Parameters.AddWithValue("@param2", CInt(row.Cells("nombrecol2").Value))
    
                cmd.ExecuteNonQuery()
            Next
        End Using
        
    End Sub

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    martes, 5 de marzo de 2013 17:31
  • olle gracias por tu ayuda, pero resulta que cuando hago 

    For Each Row As DataGridViewRow In DVGRecursos.SelectedRows
    
                MessageBox.Show(DVGRecursos.CurrentRow.Cells(0).Value)
    Next

    no esta ingresando al ciclo por consiguiente no me va a insertar

    puse lo del MessageBox para ver en donde estaba el error, tengo una función que me crea la cx y me inserta, no se si me hace falta algo en el código o tiene que ir en algún lugar en especial

    martes, 5 de marzo de 2013 19:10
  • Ya encontré mi falla resulta que tengo oculto la barra de selección

    DVGRecursos.RowHeadersVisible = False

    entonces simplemente lo que estaba seleccionando era las celdas y por ese motivo no ingresaba al ciclo 

    lo solucione cambiando la propiedad de la grilla SelectionMode = FullRowSelect


    Gracias por la respuesta  Leandro

    martes, 5 de marzo de 2013 20:30
  • Hola buena noches amigos, tengo el mismo problema, pero ya lo resolvi pero no me pasa todos los registros solo 12.276, y tengo cargado 177.136, que podra ser el error.
    viernes, 19 de abril de 2013 3:46