J'écris une application Windows Forms dans laquelle je dois simuler la conservation du nombre de personnes qui manquent en classe. J'ai fait une base de données à l'intérieur de Visual Studio qui fonctionne bien. J'ai également trouvé un tutoriel sur YouTube sur la façon de le faire, alors je l'ai fait. Dans une partie de la vidéo, il met un "@ (nom de la variable dans la table)" au lieu d'une valeur dans la requête. Pour lui, cela fonctionne, pour moi, ça ne le fait pas et je ne sais pas pourquoi. S'il vous plaît aider. Ceci se produit lorsque j'appelle cette fonction dans mon code. Et cela renvoie ce massage: P> system.data.sqlclient.sqxception: p>
'La requête paramétrée
'(@Razredid nvarchar (4000)) Sélectionnez A.ime de Ucenici une jointure intérieure'
s'attend à ce que le paramètre '@razredid', qui n'était pas fourni. ' p>
blockQuote> aussi, La vidéo: https://www.youtube.com/watch?v=_pcbtixl884 p> [ [ [
razredid code> n'est pas un NavCar (4000) code>, il s'agit d'un entier régulier. Le gars dans la vidéo n'avait pas ce problème. P>
1 P>
2 P>
<> < un href = "https://i.stack.imgur.com/zru0k.png" rel = "nfollow noreferrer"> 3 p> p>
3 Réponses :
Essayez de passer une valeur explicite à la place: command.parameters.addvithavalue ("@ razredid", 1); et voir ce qui se passe. Il est correct de conserver le nom @ dans le nom de paramètres, contrairement aux répémes précédents. P>
Vous devez peut-être ajouter le paramètre avant de passer la commande à l'adaptateur? P>
Je pense que c'est mieux un commentaire
Je suis d'accord, mais je ne peux pas encore faire de commentaires. Et tu n'as vraiment aidé :)
ok gars, alors ... je suis stupide xd
Ce que j'ai mal fait, c'est que le deuxième paramètre de cette ligne était faux (le lstrazredi était auparavant lstucenici, qui est la mauvaise table) donc j'ai changé cela et je travaille parfaitement.
Désolé de déranger. P> p>
Avez-vous vérifié
lstucenici.selectedValue code> valeur? Je suis sûr que ça ne peut pas être null et peut-être que c'estIl n'y a pas de valeur dans la liste de liste. Devrait-il y avoir une valeur là-bas?
Vous essayez d'appliquer un filtre à la requête, cela devrait être une valeur.
Il dit
nvarchar (4000) code> parce que vous avez utilisé AddWithValue. AddWithValue n'est pas une bonne chose à utiliser - vous devriez trouver un meilleur tutoriel. Voir pouvons-nous arrêter d'utiliser AddWithValue déjà?J'ai examiné le lien que vous avez envoyé et les exemples qu'ils ont fournis ont déclaré que cela devait être égal à quelque chose et ne savent tout simplement pas quoi. Je ne suis pas très expérimenté avec l'intégration de la base de données.
Ma suggestion est d'utiliser Dapper pour l'accès aux données. C'est un paquet de nuget gratuit. Tim Corey a fait un excellent tutoriel d'introduction à YouTube. (Recherche Iamtimcorey et Dapper).