Salut à tous
J'ai une Form appellée frmEmployes qui contient :
4 TextBox ( txtID , txtNom , txtPren , txtAge )
4 Boutons ( btnAddNew , btnUpdate , btnSave , btnExit )
Je vais parler seulement du bouton btnModifier car en appuyant sur ce bouton une autre fenetre ( Form ) appellée frmModifier apparait pour permettre la modification des données d'un employé.
Cette fenetre frmModifier se compose seulement de 4 TextBox ( txtID , txtNom , txtPren , txtAge ) et de deux boutons : btnUpdate et btnClose , lorsque je finis les modifications j'appuies sur btnUpdate et puis sur btnClose.
Ce que je demande humblement c'est comment refléter les changements effectuées dans la Form frmModifier dans la 1ère Form frmEmployes c'est-à-dire rafraichir les TextBox ( qui sont des controles liés ) de la 1ère Form (frmEmployes) automatiquement.
Voici ce que j'ai fait mais ça ne marche pas :
Ensuite j'appelle cette procédure à l'intérieur du code du bouton btnUpdate de la Form frmModifier ( la seconde fenetre ) comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Imports System.Data.SqlClient Public Class frmEmployes Dim cn As New SqlConnection Dim strcon As String = "data source=(local);initial catalog=employes ;integrated security=true" Private Sub RefreshData() cn.ConnectionString = strcon Dim strEmp As String = "select * from employes" Dim daEmp As New SqlDataAdapter(strEmp, cn) Dim dsEmp As New DataSet If cn.State Then cn.Close() cn.Open() dsEmp.Clear() daEmp.Fill(dsEmp, "pros") cn.Close() txtID.DataBindings.Add("text", dsEmp, "employes.idEmp") txtNom.DataBindings.Add("text", dsEmp, "employes.nom") txtPren.DataBindings.Add("text", dsEmp, "employes.pren") txtAge.DataBindings.Add("text", dsEmp, "employes.age") End Sub
Voilà j"espère que j'étais assez clair Merci d'avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEdit.Click Dim cmdUpdate As New SqlCommand cmdUpdate.Connection = cn cmdUpdate.CommandText = "update employes set nom=@nom,pren=@pren,age=@age where idEmp=@idEmp" cmdUpdate.Parameters.Clear() Dim pr_id As New SqlParameter("@idEmp", SqlDbType.Int, 4) pr_id.Value = CType(Me.txtID.Text, Integer) cmdUpdate.Parameters.Add(pr_id) Dim pr_nom As New SqlParameter("@nom", SqlDbType.NVarChar, 50) pr_nom.Value = Me.txtNom.Text cmdUpdate.Parameters.Add(pr_nom) Dim pr_pren As New SqlParameter("@pren", SqlDbType.NVarChar, 50) pr_pren.Value = Me.txtPren.Text cmdUpdate.Parameters.Add(pr_pren) Dim pr_age As New SqlParameter("@age",SqlDbType.NVarChar, 10) pr_age.Value = Me.txtAge.Text cmdUpdate.Parameters.Add(pr_age) If cn.State Then cn.Close() cn.Open() cmdUpdate.ExecuteNonQuery() cn.Close() cmdUpdate.Dispose() MsgBox("Mise à jour Réussie") Catch ex As Exception MsgBox(ex.Message) End Try RefreshData() End Sub
Partager