2
« en: Miércoles 15 de Abril de 2009, 19:08 »
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