Bonjour la communauté,je réalise actuellement une application constituée d'une bd sqlce et d'une interface utilisateur. Mon souhait c'est d'insérer des données dans ma bd en utilisant les requêtes paramétrées. Mon problème c'est que dans ma bd,j'ai l'identifiant de ma table qui est auto-incrémente et je ne sais pas comment gérer cela. Voici mon bout de code en question. 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
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
Private Sub Btn_Enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Enregistrer.Click
        'connexion()
 
 
        req = "INSERT INTO Fiche_perso(Dat_adh, Nom, Pren, Dat_naiss, Age, Tranche, Sexe, Pays, Ville, Contact, Quart, Nom_P, Nom_M, Nom_R, Mbre_P, Mbre_M, Contact_P, Contact_M, Contact_R, Appel, Rep_appel, Statut, Niv_etud)" &
  " & Values(@Dat_adh, @Nom, @Pren, @Dat_naiss, @Age, @Tranche, @Sexe, @Pays, @Ville, @Contact, @Quart, @Nom_P, @Nom_M, @Nom_R, @Mbre_P, @Mbre_M, @Contact_P, @Contact_M, @Contact_R, @Appel, @Rep_appel, @Statut, @Niv_etud)"
        'Création de la commande sql
        Cmd = New SqlCeCommand(req, Cnxbd)
        'Création et déclarations de paramètres
        With Cmd.Parameters
 
            .AddWithValue("@Dat_adh", Me.MaskedTxtBox_dat_adh.Text)
            .AddWithValue("@Nom", Me.Txt_nom.Text)
            .AddWithValue("@Pren", Me.Txt_pren.Text)
            .AddWithValue("@Dat_naiss", MaskedTxtBox_dat_naiss.Text)
            .AddWithValue("@Age", Me.Txt_age.Text)
            .AddWithValue("@Tranche", Me.ListBox_tranch.Text)
            .AddWithValue("@Sexe", Me.ComboBox_sexe.Text)
            .AddWithValue("@Pays", Me.Txt_pays.Text)
            .AddWithValue("@Ville", Me.Txt_ville.Text)
            .AddWithValue("@Contact", Me.Masked_contact.Text)
            .AddWithValue("@Quart", Me.Txt_quartier.Text)
            .AddWithValue("@Nom_P", Me.Txt_nom_prenP.Text)
            .AddWithValue("@Nom_M", Me.Txt_nom_prenM.Text)
            .AddWithValue("@Nom_R", Me.Txt_nom_PrenR.Text)
            .AddWithValue("@Mbre_P", Me.Combo_mbre_pere.Text)
            .AddWithValue("@Mbre_M", Me.Combo_mbre_mere.Text)
            .AddWithValue("@Contact_P", Me.Masked_contactP.Text)
            .AddWithValue("@Contact_M", Me.Masked_contactM.Text)
            .AddWithValue("@Contact_R", Me.Masked_contactR.Text)
            .AddWithValue("@Appel", Me.ComboBox_appel.Text)
            .AddWithValue("@Rep_appel", Me.Txt_rep_appel.Text)
            .AddWithValue("@Statut", Me.ComboBox_statut.Text)
            .AddWithValue("@Niv_etud", Me.Txt_nivo_etude.Text)
            '.AddWithValue("@ID", Me.Txt_matr.Text)
 
        End With
        ' Dim ms As New MemoryStream()
 
        'PictureBox1.Image.Save(ms, PictureBox1.Image.RawFormat)
 
        'Dim data As Byte() = ms.GetBuffer()
 
        ' dtr("photo") = data
        ' Cmd.ExecuteNonQuery()
        Try
 
            'Execution de la requête
            Cmd.Connection.Open()
            Cmd.ExecuteNonQuery()
            Cmd.Connection.Close()
 
        Catch ex As SqlException
 
            Response.Write(ex.Message)
 
        End Try
 
 
        'ajout de la ligne dans le DataSet
 
        Mondataset.Tables("Fiche_perso").Rows.Add(dtr)
 
        'création et exécution du commandbuilder
        'pour mettre à jour le DataAdapter
        cmdb = New SqlCeCommandBuilder(Adaptateur)
 
        'mise à jour des données du DataAdapter
        'à partir du commandbuilder
        Adaptateur.Update(Mondataset, "Fiche_perso")
 
        'on vide le dataset pour le recréer avec 
        'les nouvelles données 
        Mondataset.Clear()
        Adaptateur.Fill(Mondataset, "Fiche_perso")
        dtt = Mondataset.Tables("Fiche_perso")
 
        MessageBox.Show("Le membre  " & Txt_nom.Text + " " & Txt_pren.Text & " a été enregistré avec succès dans la base de données", "Information", MessageBoxButtons.OK)
    End Sub
Voici aussi le code de chargement de mon formulaire
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
Private Sub Fiche_perso_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 
        Cnxbd = New SqlCeConnection("Data Source=|DataDirectory|\BD_Jeunes.sdf")
        Try
            cnx.Open()
            req = "Select* From Fiche_perso"
            Dim Cmd As New SqlCeCommand(req, cnx)
            Dim Adaptateur As New SqlCeDataAdapter(Cmd)
            Dim MonDataSet As New DataSet
            Adaptateur.Fill(MonDataSet, "Fiche_perso")
            Cmd.Dispose()
 
            Timer1.Start()
            'Label13.Visible = False
            'Txt_rep_appel.Visible = False
 
 
            cnx.Close()
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
 
    End Sub