Je ne connais pas ton langage de programmation donc ne vais pas pouvoir t'apporter la solution, mais je pense pouvoir te donner la logique de ton problème.
Quand
SET @Champ = @NouvelleValeur
est résolu cela doit donner non pas un nom de champ mais une constante donc du type constante=constante
'fldnom' = 'aaaa'
alors qu'il faut
fdlnom = 'aaaa'
.
Généralement quand on veut faire une requête dynamique, il faut constituer la chaine contenant la requête avec d'exécuter la commande.
Sans connaître le C# t'es quand même doué je trouve.
En effet, en introduisant le nom du champ d'une autre façon avec :
maRequeteMiseAJourDonneesEleve = String.Format("UPDATE tbleleves SET {0} = @NouvelleValeur WHERE fldIdentifiant = @Id", NomDuChamp);
cela fonctionne.
En faite je pensais que les requêtes paramétrées permettent de former la chaîne de caractères et qu'on pourrait même mettre par exemple
maRequeteMiseAJourDonneesEleve = "@QuelqueChose tbleleves SET @Champ = @NouvelleValeur WHERE fldIdentifiant = @Id";
Et dire que @QuelqueChose est égal à UPDATE
Si quelqu'un peut bien m'expliquer quels sont les éléments qu'on peut ajouter avec des arobases (@) et quels sont ceux qu'on ne peut pas et pourquoi, ce serait sympa de m'expliquer afin que je ne fasse plus cette erreur car visiblement la solution j'aurais pus y penser en une minute si j'aurais sus dès le départ que le nom du champ je ne peux pas l'insérer ainsi.
D'après ce que j'ai retenu, on peut utiliser les @ afin d'insérer des variables dans la requête mais pas des mots.
Modifié par cocodu67... le 8/03/2014 à 21:43
En effet, en introduisant le nom du champ d'une autre façon avec :
cela fonctionne.
En faite je pensais que les requêtes paramétrées permettent de former la chaîne de caractères et qu'on pourrait même mettre par exemple
Et dire que @QuelqueChose est égal à UPDATE
Si quelqu'un peut bien m'expliquer quels sont les éléments qu'on peut ajouter avec des arobases (@) et quels sont ceux qu'on ne peut pas et pourquoi, ce serait sympa de m'expliquer afin que je ne fasse plus cette erreur car visiblement la solution j'aurais pus y penser en une minute si j'aurais sus dès le départ que le nom du champ je ne peux pas l'insérer ainsi.
D'après ce que j'ai retenu, on peut utiliser les @ afin d'insérer des variables dans la requête mais pas des mots.
En tout cas merci jee pee tu m'as débloqué :)
Bonne soirée