Bonsoir à tous et toutes,

Vous allez bien?
J'ai un petit soucis, j'ai voulu écrire une requête paramètrées mais je suis tombé sur des erreurs 'bizarres' :

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
 
Dim cnx As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=monchemin_vers_BD;Integrated Security=True;User Instance=True")
Dim cmd As New SqlCommand
 
Dim commentaire As String = txt_comm.Text
Dim id_commenteur As Integer = Session("connectionId")
Dim date_comm As Date = Now
 
cmd.CommandText = "INSERT INTO [Commentaire]( [commentaire], [id_membre], [id_article], [date_commentaire]) VALUES (@commentaire, @id_membre, @id_article, @date_commentaire);"
                With cmd
                    .Connection = cnx
                    .Parameters.Add(New SqlParameter("@commentaire", SqlDbType.Text))
                    .Parameters.Add(New SqlParameter("@id_membre", SqlDbType.Int))
                    .Parameters.Add(New SqlParameter("@id_article", SqlDbType.Int))
                    .Parameters.Add(New SqlParameter("@date_commentaire", SqlDbType.DateTime))
                End With
                With cmd
                    .Parameters("@commentaire").Value = commentaire
                    .Parameters("@id_membre").Value = CInt(id_commenteur)
                    .Parameters("@id_article").Value = CInt(id_rec)
                    .Parameters("@date_commentaire").Value = FormatDateTime(date_comm)
                End With
 
                Try
                    cnx.Open()
                    cmd.ExecuteNonQuery()
                    cnx.Close()
                Catch err As SqlException
                    MsgBox("Erreur sql")
                    Response.Write(err.Message)
                End Try
Et cela me produit cette erreur :
Le nom de variable '@commentaire' a déjà été déclaré. Les noms de variables doivent être uniques dans un lot de requêtes ou une procédure stockée.
En essayant d'entrer ceci dans ma textbox :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
"Il y a de tout ici : ; , " ' = 
 
=D"
Pourtant je pense avoir bien déclaré ma requête, qu'en pensez-vous?