Utilisation de requête paramétrées, erreur contenu textbox
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:
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 :
Citation:
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:
1 2 3
| "Il y a de tout ici : ; , " ' =
=D" |
Pourtant je pense avoir bien déclaré ma requête, qu'en pensez-vous?