Bonjour,Erreur: Un SQLParamenter wtih ParameterName @myparm ne figure pas par cette SqlParameter Collection
Je travaille sur une application ASP.NET 3.5 WebForms et ont écrit le code suivant:
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Dim connectionString As String = WebConfigurationManager.ConnectionStrings("Diel_inventoryConnectionString").ConnectionString
Dim con As New SqlConnection(connectionString)
Dim adapter1 As New SqlDataAdapter
adapter1.SelectCommand = New SqlCommand
adapter1.SelectCommand.CommandType = CommandType.StoredProcedure
adapter1.SelectCommand.CommandText = "PartSproc"
Dim parmNSN As New SqlParameter("@NSN", SqlDbType.NVarChar)
Dim parmName As New SqlParameter("@PartName", SqlDbType.NVarChar)
txtNSN.Text = adapter1.SelectCommand.Parameters("@NSN").Value
txtSearch.Text = adapter1.SelectCommand.Parameters("@PartName").Value
Dim dt As New DataTable()
adapter1.Fill(dt)
MySearch.DataSource = dt
MySearch.DataBind()
End Sub
Lorsque j'exécute la page, je reçois l'erreur Un paramètre SQLParameter avec @NSN n'est pas contenu par cette collection SQLParameter. J'ai essayé d'utiliser des apostrophes autour de @NSN et @PartName mais cela ne fonctionne pas non plus et présente l'erreur d'expression attendue.
Comment corriger le code ci-dessus afin qu'il fasse correctement référence aux paramètres @NSN et @PartName?
EDIT: Nouveau code ci-dessous
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSubmit.Click
Dim connectionString As String = WebConfigurationManager.ConnectionStrings("Diel_inventoryConnectionString").ConnectionString
Dim con As New SqlConnection(connectionString)
Dim cmd As New SqlCommand("PartSproc", con)
cmd.CommandType = CommandType.StoredProcedure
Dim adapter1 As New SqlDataAdapter
Dim parmNSN As New SqlParameter("@NSN", SqlDbType.NVarChar)
Dim parmName As New SqlParameter("@PartName", SqlDbType.NVarChar)
adapter1.SelectCommand.Parameters.Add(parmNSN)
adapter1.SelectCommand.Parameters.Add(parmName)
adapter1.SelectCommand.Parameters("@NSN").Value = txtNSN.Text
adapter1.SelectCommand.Parameters("@PartName").Value = txtSearch.Text
Using con
Dim dt As New DataTable()
adapter1.SelectCommand = cmd
adapter1.Fill(dt)
MySearch.DataSource = dt
MySearch.DataBind()
End Using
End Sub
Je reçois maintenant une erreur référence d'objet non définie à une instance d'un objet faisant référence au paramètre add parmNSN. Ai-je vraiment besoin de ceux-ci pour ajouter des instructions de paramétrage, puisque je les ai déjà définies comme les zones de texte ci-dessous?
Merci, Sid
Dois-je utiliser ces directives, en plus de celles Andrew fournies ou sont-ils interchangeables? – SidC