Paremeters.Add() Urgent!!!!!!!!!!!!!!

Résolu
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 10 mars 2006 à 16:06
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 10 mars 2006 à 16:44
slt je fais des mises a jours dans une base de données à l'aide du code suivant :


string updt "UPDATE tracks SET tracks.dispo 'Non Disponible', tracks.prix = 0 WHERE tracks.id = @id";



OleDbCommand updtCD =
new
OleDbCommand(updt, MABASE
);


updtCD.Parameters.Add(
new
OleDbParameter(
"@id", Identifiant
));



try


{


updtCD.ExecuteNonQuery();


}



catch (
Exception ex2)


{



MessageBox.Show(
"2 " + ex2.Message +
"\t" + updt);


}

ce code me genere l'erreur suivante :
"la variable scalaire @id doit etre déclarée"

Identifiant possède bien une valeur et il est de type long

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 mars 2006 à 16:27
Salut,

OleDb ne supporte pas les paramètres nommés, mais par position avec l'indicateur '?'.
Tu dois les utiliser par position (ajout des params dans l'ordre de définition dans la requête), mais dans ton cas il n'y en a qu'un donc tu ne peux pas te tromper ;-)
string updt <gras>"UPDATE tracks SET tracks.dispo 'Non Disponible', tracks.prix = 0 WHERE tracks.id = ?";</gras>

/*
coq
MVP Visual C#
*/
3
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 mars 2006 à 16:29
je te remerci coq

je pensais que ca marchais comme avec Mysql en changeant les ? par des @
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 mars 2006 à 16:44
Ba c'est marqué dans la doc de OleDbParameter ^^

/*
coq
MVP Visual C#
*/
0
Rejoignez-nous