• Viernes 8 de Noviembre de 2024, 16:33

Autor Tema:  Problema con un UPDATE  (Leído 1397 veces)

engelfer

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Problema con un UPDATE
« en: Miércoles 15 de Abril de 2009, 19:08 »
0
Que tal miren he estoy realizando una pequeña aplicacion para el control de inventario de unas computadoras
La cosa es que tengo un datagrid que muestra los resultados de una busqueda por textbox, seguido de eso, al dar click en el datagrid se copian los datos a los textbox para que puedan modificarse y por medio de un click en un boton de haga la actualizacion a la bd de access.

EL prog ya captura y elimina, pero justo en este formulario en donde se harian las cambios de registros recibo un error de nonquery, syntax error les dejo mi codigo, esta documentado+

Espero su ayuda gracias


Public Class Form4
    Dim cnn1 As New Data.OleDb.OleDbConnection()
    Dim dap1 As New Data.OleDb.OleDbDataAdapter()
    Dim das1 As New System.Data.DataSet()

    Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: esta línea de código carga datos en la tabla 'InventarioDataSet.EQUIPOS' Puede moverla o quitarla según sea necesario.
        Me.EQUIPOSTableAdapter.Fill(Me.InventarioDataSet.EQUIPOS)
        Dim str1 = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = C:InventarioInventario.Mdb"
        cnn1.ConnectionString = str1



    End Sub

    Private Sub surnameFilterTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles surnameFilterTextBox.TextChanged
        EQUIPOSBindingSource.Filter = "USER_ID like '%" + surnameFilterTextBox.Text + "%'"
    End Sub

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick

        surnameFilterTextBox.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(2).Value()
        TextBox1.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value()
        TextBox19.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(1).Value()
        TextBox2.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(3).Value()
        TextBox3.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(4).Value()
        TextBox4.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(5).Value()
        TextBox5.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(6).Value()
        TextBox6.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(7).Value()
        TextBox7.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(8).Value()
        TextBox8.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(9).Value()
        TextBox9.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(10).Value()
        TextBox10.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(11).Value()
        TextBox11.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(12).Value()
        TextBox12.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(13).Value()
        TextBox13.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(14).Value()
        TextBox14.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(15).Value()
        TextBox15.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(16).Value()
        TextBox16.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(17).Value()
        TextBox17.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(18).Value()
        TextBox18.Text = Me.DataGridView1.Rows(e.RowIndex).Cells(19).Value()


    End Sub
    ' es un update el que aqui se debe aplicar

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       Dim str1 As String = "UPDATE VBDotNetShippers " & "SET CompanyName='" & TextBox2.Text & "', " & "Phone='" &   TextBox3.Text & "' WHERE ShipperID=" & TextBox1.Text
        'Ejecuta la cadena SQL
        RunSQLString(str1)
    End Sub

    Sub RunSQLString(ByVal str1 As String)
        'Creamos el objeto oleDbCommand
        Dim cmd1 As New Data.OleDb.OleDbCommand()
        'Asigna los valores a las propiedades connection y commandtext
        'Antes de llamar al comando  
        With cmd1
            .Connection = cnn1
            .CommandText = str1
            cnn1.Open() 'Abre la bases de datos
            .ExecuteNonQuery() 'Ejecuta la consulta
            cnn1.Close() 'Cierra la base datos
        End With
    End Sub
End Class

javierkcjm

  • Miembro activo
  • **
  • Mensajes: 48
  • Nacionalidad: ec
    • Ver Perfil
Re: Problema con un UPDATE
« Respuesta #1 en: Miércoles 15 de Abril de 2009, 22:56 »
0
hola,

por lo que veo tienes problemas de sintaxis
Citar
Dim str1 As String = "UPDATE VBDotNetShippers " & "SET CompanyName='" & TextBox2.Text & "', " & "Phone='" & TextBox3.Text & "' WHERE ShipperID=" & TextBox1.Text

as esto
Dim str1 As String = "UPDATE VBDotNetShippers set CompanyName='" & TextBox2.Text & "', Phone='" & TextBox3.Text & "' WHERE ShipperID=" & TextBox1.Text & "'"

saludos cordiales

JC

engelfer

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Problema con un UPDATE
« Respuesta #2 en: Jueves 16 de Abril de 2009, 15:37 »
0
;) Muchas gracias compañero efectivamente tuve un error en sintaxis pero si me veia un poco perdido, te agradezco mucho la correción