Paremeters.Add() Urgent!!!!!!!!!!!!!! [Résolu]

Signaler
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
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

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
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#
*/
Messages postés
283
Date d'inscription
mercredi 7 décembre 2005
Statut
Membre
Dernière intervention
9 juillet 2010
3
je te remerci coq

je pensais que ca marchais comme avec Mysql en changeant les ? par des @
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
86
Ba c'est marqué dans la doc de OleDbParameter ^^

/*
coq
MVP Visual C#
*/