Visual Basic.NET - Boton para actualizar un cliente

 
Vista:
sin imagen de perfil

Boton para actualizar un cliente

Publicado por Carlos (11 intervenciones) el 29/05/2014 11:36:23
Hola, tengo una duda que no soy capaz a solucionar.
Estoy haciendo un programa en vb.net con conexion a base de datos mysql.
Bien, tengo un formulario como el que se muestra en la foto, al acer doble click en una fila del datagrid se me cargar los datos, en los correspondientes textbox, y lo que quiero es, que si cambio el telefono se me actualice el cliente, tanto en el datagrid como en la base de datos.
Un saludo y gracias. bueno queda un poco cortado, pero a la derecha hay un datagrid view con los datos de los clientes
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Boton para actualizar un cliente

Publicado por snti (29 intervenciones) el 29/05/2014 18:05:08
Como estas cargando los Clientes en el data grid view? Si viene de la base de datos que supongo que es así. Haces el uptade directamente con los valores de los text box y luego actualizas el DGV.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Boton para actualizar un cliente

Publicado por Carlos (11 intervenciones) el 30/05/2014 11:23:37
Así los cargo

1
2
3
4
5
6
7
8
9
10
11
12
13
DataGridView1.ReadOnly = True
        Try
            con.Open()
            Dim da As New MySqlDataAdapter("select * from CLIENTES", con)
            Dim ds As New DataSet
            da.Fill(ds)
            dv.Table = ds.Tables(0)
            DataGridView1.DataSource = dv
            '  End While
        Catch ex As Exception
            MsgBox("Excepción en tiempo de ejecución: " & ex.Message)
        End Try
        con.Close()

Pero lo de actualizar no lo consigo,puse esto en el boton modificar

Dim cmd As New MySqlCommand
Dim r As Integer
Try
con.Open()
cmd = New MySqlCommand("update clientes set (nombre, dNI ,telefono ,correo, DIRECCION,OBSERVACIONES) values('" & TextBox1.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "','" & TextBox2.Text & "','" & TextBox7.Text & "')", con)
r = cmd.ExecuteNonQuery()
If r > 0 Then
MsgBox("Datos actualizados")
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
con.Close()

Que me faltaría o que estaría mal?
Un saludo y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Boton para actualizar un cliente

Publicado por snti (29 intervenciones) el 30/05/2014 14:35:14
Estas tratando de actualizar registros de la misma manera que haces un insert.
Tendrias q pasarle por parametro el identificador del Cliente para diferenciarlo del resto de los registros, sino se van a cambiar todos. Y en el update poner por ejemplo: UPDATE NombreTabla SET columna=valor, columna2=valor2, columna3=valor3 WHERE CodigoCliente=Codigo

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Boton para actualizar un cliente

Publicado por SIMON (22 intervenciones) el 01/06/2014 20:20:23
en Public Class, declara esta variable.
1
Public accion As String

Codigo del boton Guardar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
If accion = "nuevo" Then
 
            'Validando Captura de Datos 
            If txtNom_cli.Text = "" Then
                MsgBox("El nombre no puede estar en Blanco")
                TabControl1.SelectedIndex = 0
                txtNom_cli.Focus()
                Return
            End If
            If txtApe_cli.Text = "" Then
                MsgBox("El Apellido no puede estar en Blanco")
                txtApe_cli.Focus()
                Return
            End If
 
            If txtDir_cli.Text = "" Then
                MsgBox("El Apellido no puede estar en Blanco")
                TabControl1.SelectedIndex = 0
                txtDir_cli.Focus()
                Return
            End If
            'Fin Validación Captura de Datos 
 
            'Método para insertar estudiantes
 
            Try
                conexion.Close()
                conexion.Open()
 
                'comandos = New OleDbCommand("insert into Tbla_Cliente (Nom_cli,Ape_cli,Dir_cli,cel_cli,Tel_clie,fecha_ing,est_civ) values (txtNom_cli," & vbCrLf &
                '                         "txtApe_cli, txtDir_cli, txtTel_Cli, txtCel_Cli, txtFecha_Reg, cboSexo)", conexion)
 
                comandos = New OleDbCommand("insert into Tbla_Cliente (Nom_cli,Ape_cli,Dir_cli,cel_cli,Tel_clie,fecha_ing,est_civ)" & Chr(13) &
                                 "VALUES (txtNom_cli, txtApe_cli, txtDir_cli, txtTel_Cli, txtCel_Cli, txtFecha_Reg, cboSexo)", conexion)
                'comandos.Parameters.AddWithValue("@Cod_cli", txtCod_Clic.Text)
                comandos.Parameters.AddWithValue("@Nom_cli", txtNom_cli.Text)
                comandos.Parameters.AddWithValue("@Ape_cli", txtApe_cli.Text)
                comandos.Parameters.AddWithValue("@Dir_cli", txtDir_cli.Text)
                comandos.Parameters.AddWithValue("@cel_cli", txtCel_Cli.Text)
                comandos.Parameters.AddWithValue("@Tel_clie", txtTel_Cli.Text)
                comandos.Parameters.AddWithValue("@fecha_ing", txtFecha_Reg.Text)
                comandos.Parameters.AddWithValue("@est_civ", cboSexo.Text)
                comandos.ExecuteNonQuery()
 
 
 
                MsgBox("Guardado correctamente", vbInformation, "Correcto")
 
                Me.Tbla_ClienteTableAdapter.Fill(Me.DbDemoDataSet.Tbla_Cliente)
                Me.TblaClienteBindingSource.MoveLast()
 
                Me.Habilitar_Entrada(False)
                TabControl1.SelectedIndex = 0
 
 
            Catch ex As Exception 'En caso de que ocurra una excepción 
                MsgBox("Error al intectar Guardar en la base de datos", vbExclamation, "Error")
            End Try
        End If
 
        If accion = "modificar" Then
            conexion.Close()
            conexion.Open()
            Dim actualizar As String
 
 
            actualizar = "UPDATE Tbla_Cliente SET Nom_cli = '" & txtNom_cli.Text &
                "', Ape_cli = '" & txtApe_cli.Text &
                "', Dir_cli = '" & txtDir_cli.Text &
                "', cel_cli = '" & txtCel_Cli.Text &
                "', Tel_clie = '" & txtTel_Cli.Text &
                "', est_civ = '" & cboSexo.Text &
                "' WHERE Cod_cli =" & txtCod_Clic.Text & " "
 
            '" & txtCod_Clic.Text & ""
 
            comandos = New OleDbCommand(actualizar, conexion)
            comandos.ExecuteNonQuery()
            MsgBox("Actualizado Correctamente", vbInformation, "Correcto")
 
            Me.Tbla_ClienteTableAdapter.Fill(Me.DbDemoDataSet.Tbla_Cliente)
            Me.TblaClienteBindingSource.MoveLast()
            Me.Habilitar_Entrada(False)
            TabControl1.SelectedIndex = 0
        End If

codigo del boton Actualizar
1
accion = "modificar"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar