none
datos de datagridview a db en mysql RRS feed

  • Pregunta

  • hola tengo un datagridview que voy cargando con distintos articulos y quiero guardarlos en una base de datos con mysql.

    El codigo que tengo es este:

    Using cnn = New MySqlConnection("server=localhost;User Id=root;database=dap")

                cnn.Open()

                Dim sql As String = "INSERT INTO detalle_presu (IdDetalle, Id, Cantidad) VALUES (@IdDetalle, @Id, @Cantidad)"
                Dim command As New MySqlCommand(sql, cnn)

                For Each row As DataGridViewRow In DataGridView1.Rows

                    command.Parameters.Clear()
                    command.Parameters.AddWithValue("@IdDetalle", "1")
                    command.Parameters.AddWithValue("@Id", row.Cells("Id"))
                    command.Parameters.AddWithValue("@Cantidad", row.Cells("Cantidad"))

                    command.ExecuteNonQuery()

                Next

            End Using

    El problema es que no da errores, pero me guarda IdDetalle en 1 como esta ahi, y lo demas me pone 0 y 0.

    Mi datagridview tiene las columnas con los nombres Id y Cantidad.

    Pero no logro solucionar.

    Saludos

    sábado, 22 de septiembre de 2012 14:24

Respuestas

  • en mysql no puedes usar el @ para definir los parametros, se usa el ?

            Dim sql As String = "INSERT INTO detalle_presu (IdDetalle, Id, Cantidad) VALUES (?IdDetalle, ?Id, ?Cantidad)"

    ---

    recuerda ademas definir el Value

                    command.Parameters.AddWithValue("?Id", Convert.ToInt32(row.Cells("Id").Value))
                    command.Parameters.AddWithValue("?Cantidad", convert.ToInt32( row.Cells("Cantidad").Value))

    y definir el tipo correcto segun el campo de la tabla

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    sábado, 22 de septiembre de 2012 14:46