Récupérer une valeur de type INT à partir d'un dataSet

Résolu
Gwen59 - 20 juil. 2019 à 14:53
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 21 juil. 2019 à 04:05
Bonjour à tous,

Je travaille actuellement sur un projet perso et je me retrouve bloqué lorsque je souhaite récupérer une variable de ma table.
En clair :
int magie = int.Parse(classeTableAdapter.GetMagie(comboBoxClasse.Text).ToString());

Ma table "Classe" contient plusieurs lignes/colonnes. En fonction de la classe choisie, je voudrais retourner le champ "Magie" (GetMagie est une requête personnalisée dans mon dataSet, qui retourne la valeur de mon champ pour mon paramètre passé). Le champ Magie de ma table contient 0, 1 ou 2 (type int).
J'ai actuellement l'erreur suivante :
System.Data.SqlClient.SqlException : 'Les types de données text et text sont incompatibles dans l'opérateur equal to.'

J'avoue ne pas trop comprendre cette erreur :(
Merci d'avance pour votre aide :)

PS : Je suis sous visual studio 2019 avec une base de données externe en SQL express (BdD présente sur mon ordinateur).

3 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
20 juil. 2019 à 16:42
Bonjour
Peux tu montrer ta requête ?
0
SELECT Magie
FROM Classe
WHERE (Nom = @Nom)

Celle-ci a été générée grâce à l'Assistant de configuration de requêtes TableAdapter.

En y regardant de plus près, quand je tente d'exécuter la requête dans l'assistant, celui-ci me dit :
Les types de données text et nvarchar sont incompatibles dans l'opérateur equal to.

Comment puis-je déclarer ma condition dans ce cas-là ?
0
Bon bah je réponds à moi-même :
Le paramètre de ma condition ne doit pas être du même nom que mon champ tout simplement... :
SELECT Magie
FROM Classe
WHERE (Nom LIKE @Parm)

Ca fonctionne !

Merci en tout cas :)
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
21 juil. 2019 à 04:05
De rien, honnêtement je n’aurais pas su te dire que l’erreur venait de là, mais vu que le message d’erreur indiquait un opérateur equal alors que tu n’en avais pas je supposais que ça venait de la requête.

Tu peux marquer ton message résolu avec la roue dentée tout en haut du fil.
0
Rejoignez-nous