Dudas: DataGridView, Carpeta Bin
Publicado por Sebastian (2 intervenciones) el 21/04/2010 14:02:41
Hola. Tengo una aplicación en la que utilizo un DataGridView para listar los datos de los clientes. Pulsando un botón puedo editar o añadir los registros en una nueva ventana con textbox (si es editando me recupera los datos del cliente sin problema). La duda viene cuando he aceptado los cambios en esa nueva ventana, necesito que el DataGridView se actualice mostrando los cambios realizados y no se como. Este es el código
*********botón editar***********
Private Sub ToolStripEditarCliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripEditarCliente.Click
vIDCliente = CDbl(DataGridViewClientes.Item(0, DataGridViewClientes.CurrentRow.Index).Value)
vFormEditarClientes = "EDITAR"
FormEditarCliente.ShowDialog()
ListarDatos()
End Sub
*********procedimiento editar del form de edición de los datos***********
Try
Dim CommandoUpdateCliente As New Data.OleDb.OleDbCommand("UPDATE CLIENTES " & _
"SET IDCLIENTE = " & CDbl(TextClientes0.Text) & ", " & _
"DNICIF = '" & TextClientes1.Text & "', " & _
"NOMBRE = '" & TextClientes2.Text & "', " & _
"DIRECCION = '" & TextClientes3.Text & "', " & _
"POBLACION = '" & TextClientes4.Text & "', " & _
"PROVINCIA = '" & TextClientes5.Text & "', " & _
"CODIGOPOSTAL = '" & TextClientes6.Text & "', " & _
"TELEFONO = '" & TextClientes7.Text & "', " & _
"MOVIL = '" & TextClientes8.Text & "', " & _
"FAX = '" & TextClientes9.Text & "', " & _
"WEB = '" & TextClientes10.Text & "', " & _
"EMAIL = '" & TextClientes11.Text & "', " & _
"ADSG = '" & TextClientes12.Text & _
"' WHERE IDCLIENTE = " & CDbl(TextClientes0.Text), ConexionEditCliente)
CommandoUpdateCliente.ExecuteNonQuery()
Catch ex As Exception
'mostramos el error
MessageBox.Show("Ha ocurrido el siguiente error: " & _
Err.Number & ", " & Err.Description, " ERROR... ", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
'cerramos la conexion solo si esta abierta
If (ConexionEditCliente.State And ConnectionState.Open) <> 0 Then
ConexionEditCliente.Close()
End If
End Try
*********procedimiento listar datos***********
'Se cargan los datos de la base de datos
Dim comando As New Data.OleDb.OleDbCommand("Select * From CLIENTES Order By " & OrdenTabla, ConexionClientes)
DataSetClientes.Clear()
DataAdapterClientes.SelectCommand = comando
DataAdapterClientes.Fill(DataSetClientes, "CLIENTES")
DataViewClientes.Table = DataSetClientes.Tables("CLIENTES")
With DataGridViewClientes
.DataSource = DataViewClientes.Table
.Refresh()
End With
Después de esto el datagridview no se actualiza. No se si se debe a que vb.net crea una imagen de la base de datos (carpeta bin) donde se realizan los cambios o si por el contrario es problema del código.
Gracias.
*********botón editar***********
Private Sub ToolStripEditarCliente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripEditarCliente.Click
vIDCliente = CDbl(DataGridViewClientes.Item(0, DataGridViewClientes.CurrentRow.Index).Value)
vFormEditarClientes = "EDITAR"
FormEditarCliente.ShowDialog()
ListarDatos()
End Sub
*********procedimiento editar del form de edición de los datos***********
Try
Dim CommandoUpdateCliente As New Data.OleDb.OleDbCommand("UPDATE CLIENTES " & _
"SET IDCLIENTE = " & CDbl(TextClientes0.Text) & ", " & _
"DNICIF = '" & TextClientes1.Text & "', " & _
"NOMBRE = '" & TextClientes2.Text & "', " & _
"DIRECCION = '" & TextClientes3.Text & "', " & _
"POBLACION = '" & TextClientes4.Text & "', " & _
"PROVINCIA = '" & TextClientes5.Text & "', " & _
"CODIGOPOSTAL = '" & TextClientes6.Text & "', " & _
"TELEFONO = '" & TextClientes7.Text & "', " & _
"MOVIL = '" & TextClientes8.Text & "', " & _
"FAX = '" & TextClientes9.Text & "', " & _
"WEB = '" & TextClientes10.Text & "', " & _
"EMAIL = '" & TextClientes11.Text & "', " & _
"ADSG = '" & TextClientes12.Text & _
"' WHERE IDCLIENTE = " & CDbl(TextClientes0.Text), ConexionEditCliente)
CommandoUpdateCliente.ExecuteNonQuery()
Catch ex As Exception
'mostramos el error
MessageBox.Show("Ha ocurrido el siguiente error: " & _
Err.Number & ", " & Err.Description, " ERROR... ", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
'cerramos la conexion solo si esta abierta
If (ConexionEditCliente.State And ConnectionState.Open) <> 0 Then
ConexionEditCliente.Close()
End If
End Try
*********procedimiento listar datos***********
'Se cargan los datos de la base de datos
Dim comando As New Data.OleDb.OleDbCommand("Select * From CLIENTES Order By " & OrdenTabla, ConexionClientes)
DataSetClientes.Clear()
DataAdapterClientes.SelectCommand = comando
DataAdapterClientes.Fill(DataSetClientes, "CLIENTES")
DataViewClientes.Table = DataSetClientes.Tables("CLIENTES")
With DataGridViewClientes
.DataSource = DataViewClientes.Table
.Refresh()
End With
Después de esto el datagridview no se actualiza. No se si se debe a que vb.net crea una imagen de la base de datos (carpeta bin) donde se realizan los cambios o si por el contrario es problema del código.
Gracias.
Valora esta pregunta


0