none
Error en La sintaxis de MYSQL en visual basic RRS feed

  • Pregunta

  • hola tengo un problema en visual basic, estoy haciendo una insercion de datos desde visual basic a una base de datos en mysql

    la pregunta es donde tengo el error en el codigo, me marca un error en la sintaxis, pero realmente no veo ninguno

     strSQL = "insert into compras(id_compra,id_producto,no items,precio individual,costo total,proveedor,hora,fecha) values ('" & TextBox1.Text & "', '" & TextBox2.Text & "', '" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox6.Text & "','" & TextBox7.Text & "','" & TextBox8.Text & "')"
            CONNECTION.Open()


            Dim da As New MySqlDataAdapter(strSQL, CONNECTION)
            da.Fill(dc)
            CONNECTION.Close()


            TextBox1.Text = ""
            TextBox2.Text = ""
            TextBox3.Text = ""
            TextBox4.Text = ""
            TextBox5.Text = ""
            TextBox6.Text = ""
            TextBox7.Text = ""
            TextBox8.Text = ""
            TextBox1.Focus()

    lunes, 2 de abril de 2012 0:29

Respuestas

  • el error esta en que no usas parametros, concatener el update en un string no es buena idea

    strSQL = "insert into compras(id_compra,id_producto,no items,precio individual,costo total,proveedor,hora,fecha) values ( ?idcompra, ?idproducto, ...., ?fecha)"
    CONNECTION.Open()

    Dim cmd As New MySqlCommand(strSQL, CONNECTION)

    cmd.Parameters.AddWithValue("?idcompra", CInt(TextBox1.Text))

    cmd.Parameters.AddWithValue("?idproducto", CInt(TextBox2.Text))

    .

    .

    cmd.Parameters.AddWithValue("?idcompra", CDate(TextBox8.Text))

    Dim da As New MySqlDataAdapter(cmd)

    Nota: recuerda respetar el tipo de dato

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Saurik lunes, 9 de abril de 2012 4:32
    lunes, 2 de abril de 2012 4:42

Todas las respuestas

  • lunes, 2 de abril de 2012 0:32
  • el error esta en que no usas parametros, concatener el update en un string no es buena idea

    strSQL = "insert into compras(id_compra,id_producto,no items,precio individual,costo total,proveedor,hora,fecha) values ( ?idcompra, ?idproducto, ...., ?fecha)"
    CONNECTION.Open()

    Dim cmd As New MySqlCommand(strSQL, CONNECTION)

    cmd.Parameters.AddWithValue("?idcompra", CInt(TextBox1.Text))

    cmd.Parameters.AddWithValue("?idproducto", CInt(TextBox2.Text))

    .

    .

    cmd.Parameters.AddWithValue("?idcompra", CDate(TextBox8.Text))

    Dim da As New MySqlDataAdapter(cmd)

    Nota: recuerda respetar el tipo de dato

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    • Marcado como respuesta Saurik lunes, 9 de abril de 2012 4:32
    lunes, 2 de abril de 2012 4:42
  • o sea que si no convierto los parametros a formatos de mysql no insertara los datos y me dara un "fatal error"??
    martes, 3 de abril de 2012 3:20
  • Hice lo que me dijiste, Pero no inserta ningun valor en las tablas, hace todo el proceso como si en verdad estuviera insertandolo pero no inserta, a que se puede deber??
    miércoles, 4 de abril de 2012 2:41