Maison >base de données >tutoriel mysql >Comment corriger l'erreur « La requête paramétrée attend un paramètre qui n'a pas été fourni » ?

Comment corriger l'erreur « La requête paramétrée attend un paramètre qui n'a pas été fourni » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-30 00:13:52943parcourir

How to Fix the

Dépannage de l'erreur « La requête paramétrée attend un paramètre qui n'a pas été fourni »

Lors de l'exécution d'une requête paramétrée dans votre code, vous avez rencontré une erreur indiquant qu'un paramètre n'a pas été fourni. Pour résoudre ce problème, examinons le code et appliquons un correctif.

Dans l'extrait de code fourni, une requête paramétrée est utilisée pour récupérer des enregistrements d'une base de données en fonction d'un paramètre de recherche de TextBox2. Toutefois, le message d'erreur suggère que le paramètre « @Parameter1 » n'est pas fourni. Pour résoudre ce problème, nous devons explicitement ajouter et attribuer des valeurs aux paramètres dans la collection « Paramètres » de l'objet de commande.

La modification de code suivante résoudra ce problème :

Dim cmd As New SqlCommand
cmd.CommandText = "SELECT * FROM borrow WHERE Department LIKE '%' + @Department + '%'"
cmd.Connection = con
cmd.CommandType = CommandType.Text
cmd.Parameters.Add("@Department", SqlDbType.VarChar)

If Not TextBox2.Text Is Nothing Then
    cmd.Parameters("@Department").Value = TextBox2.Text
Else
    cmd.Parameters("@Department").Value = DBNull.Value
End If

con.Open()

Dans ce code modifié, nous :

  • Ajoutez un paramètre avec le nom "@Department" à la commande.
  • Vérifiez si le texte dans TextBox2 n'est pas nul (pour gérer les entrées de recherche vides).
  • Si le texte n'est pas nul, attribuez la valeur de TextBox2 au paramètre ; sinon, attribuez DBNull.Value pour gérer les entrées nulles.

Le DBNull.Value est utilisé pour représenter les valeurs nulles dans les opérations de base de données. En ajoutant cette vérification, nous garantissons que la requête s'exécutera correctement même si l'entrée de recherche est vide ou nulle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn