[vb.net][aspx]Pb d'insertion dans une BDD

harbonne Messages postés 10 Date d'inscription vendredi 19 avril 2002 Statut Membre Dernière intervention 3 mai 2007 - 16 mars 2005 à 11:42
polz Messages postés 31 Date d'inscription samedi 17 août 2002 Statut Membre Dernière intervention 6 juin 2006 - 23 mars 2005 à 17:37
curieuse_asp

Bonjour,

J'ai crée une requête paramétrée pour insérer des données dans une table TERME de la base de données THESAURUS.
Or je ne vois aucune insertion se produire:

-Serait ce un problème de connexion à la BDD?J'ai repris ce que j'ai trouvé sur le site connctionstrings.com et cela a bien fonctionné pour une autre interface.
-Serait ce un problème au niveau de la requête paramétrée ?

Si vous pouviez regarder mon code et essayer de voir ce qui ne va pas, ce serait très gentil à vous.

Merci.
Cordialement.


Code:
,
----

Imports System.Data.OleDb
Imports System.Data.SqlClient
Imports System.Data

Public Class textbox_insertion_descripteur
Inherits System.Web.UI.Page
Protected WithEvents btn_insertion_Descripteur As System.Web.UI.WebControls.Button
Protected WithEvents btn_insertion_NonDescripteur As System.Web.UI.WebControls.Button
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents label_insert_D As System.Web.UI.WebControls.Label
Protected WithEvents label_insert_ND As System.Web.UI.WebControls.Label
Protected WithEvents label_insert_TeteCartouche As System.Web.UI.WebControls.Label
Protected WithEvents btn_insert_Descripteur As System.Web.UI.WebControls.Button
Protected WithEvents btn_insert_NonDescripteur As System.Web.UI.WebControls.Button
Protected WithEvents TextBox3 As System.Web.UI.WebControls.TextBox
Protected WithEvents btn_insert_TeteCartouche As System.Web.UI.WebControls.Button
Protected WithEvents ListBox1 As System.Web.UI.WebControls.ListBox

Sub btn_insertion_Descripteur_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_insertion_Descripteur.Click
Dim sConnString As String "Data Source localhost; Initial Catalog=THESAURUS ; User Id = ""; Password=""; integrated security=SSPI"
Dim sSQLINSERT_Desc As String
Dim mycommand As SqlCommand
Dim maConnexionSQL As SqlConnection
maConnexionSQL = New SqlConnection(sConnString)
'requête insertion dans la table TERME
sSQLINSERT_Desc = "INSERT INTO TERME([Lib_TERME], [EM])VALUES (@Lib_TERME, @EM)"
'création de la commande SQL
mycommand = New SqlCommand(sSQLINSERT_Desc, maConnexionSQL)
'Création et déclaration des paramètres
With mycommand.Parameters
.Add(New SqlParameter("Lib_TERME", SqlDbType.VarChar, 500))
.Add(New SqlParameter("EM", SqlDbType.NVarChar, 500))

End With
'Attribution des valeurs aux paramètres
With mycommand
.Parameters("@Lib_TERME").Value = TextBox1.Text
.Parameters("@EM").Value = 0
' Execution de la requête
Try
mycommand.Connection.Open()
mycommand.ExecuteNonQuery()
mycommand.Connection.Close()
label_insert_D.Text = "le descripteur a bien été ajouté"
Catch ex As SqlException
Response.Write(ex.Message)
End Try

End With

End Sub
End Class

1 réponse

polz Messages postés 31 Date d'inscription samedi 17 août 2002 Statut Membre Dernière intervention 6 juin 2006 1
23 mars 2005 à 17:37
Hello,


J'ai lu ton code et il y peut-etre deux sources d'erreurs :


- La première c'est que pour ta commande sql, tu dois spécifier le type, si c'est une procédure stockée ou si c'est une commande texte. Ici c'est une commande texte. Donc après la création de l'objet SqlCommand, il faut ajouter la ligne : mycommand.CommandType = CommandType.Text

- La deuxième c'est pour les paramètres de ta requête. Tu peux directement mettre mycommand.Parameters.Add("@lib_TERME", TextBox1.text). Sauf erreur, l'ordre des paramètres joue un rôle. Ensuite, le type de donnée aussi. Si ton paramètres @lib_TERME est de type Integer, il faut pas oublié de convertir en int p. ex : CInt(TextBox1.text)

Je pense que l'erreur vient plutot de la première partie parce que la deuxième à l'air tout de meme correcte

Polz
0
Rejoignez-nous