PB UPDATE

Résolu
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 9 janv. 2006 à 17:27
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 10 janv. 2006 à 12:18
/auteurdetail.aspx?ID=639972Voila j'ai une requete pour faire une mise a jour mais rien ne se passe vous pourriez m'aider c important thx

voila le nouveau code


string updt "UPDATE artistes SET artistes.DateMAJ @date WHERE artistes.Idart = @id";



OleDbCommand updtArt =
new
OleDbCommand(updt,
Sett.DB);


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


updtArt.Parameters.Add(
new
OleDbParameter(
"@date",
DateTime.Now.ToLocalTime()));

7 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 janv. 2006 à 12:07
Il me semble qu'avec le fournisseur OleDb les paramètres doivent être insérés dans l'ordre de leur apparition dans la requête.

/*
coq
MVP Visual C#
*/
3
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
9 janv. 2006 à 22:01
1) Bonjour/Salut
2) Il faut executer la commande : ExecuteNonQuery

/*
coq
MVP Visual C#
*/
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 janv. 2006 à 10:03
je le fai j'ai juste oublier de l'ecrire desole
j'ai mis le ExecuteNonQuery dans un try catch pour avoir un message d'erreur et savoir si la requete s'executait mais j'obtiens pas de message d'erreur donc la requete doit s'executer.

par contre avec le debugger j'ai le message suivant sur le parametre @date

"The name 'date' does not exist in the current context"
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 janv. 2006 à 10:06
J'ai lu sur un autre forum que dans les requetes SQL le format des dates est du type JJ-MM-AAAA HH:MM:SS

donc j'ai fais un replace


updtArt.Parameters.Add(new OleDbParameter("@date", DateTime.Now.ToLocalTime().ToString().Replace("/","-")));

mais cela ne change rien au probleme
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 janv. 2006 à 10:58
Si je passe directement la date et l'heure avec le code suivant :


string updt "UPDATE artistes SET artistes.DateMAJ " + DateTime.Now.ToLocalTime() + " WHERE artistes.Idart = @id";

j'obtiens l'erreur suivante

"Erreur de syntaxe (opérateur absent) dans l'expression '10/01/2006 10:58:44'"
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 janv. 2006 à 11:24
j'ai resolu le pb Coq en fait il faut utiliser la fonction NOW() de SQL

ca donne :string updt "UPDATE artistes SET artistes.DateMAJ NOW() WHERE artistes.Idart = @id";

et ca marche tres bien mais si je rjoute un autre parametre la mise a jour ne s'effectue pas :
string updt "UPDATE artistes SET artistes.DateMAJ NOW(), artistes.url = @url WHERE artistes.Idart = @id";


OleDbCommand updtArt =
new
OleDbCommand(updt,
Sett.DB);


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


updtArt.Parameters.Add(
new
OleDbParameter(
"@url", _url));
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
10 janv. 2006 à 12:18
c'etait bien ca coq il faut bien les mettre dans l'ordre d'apparition dans la requete

ben jte remerci et comme d'hab toujours aussi efficace
0
Rejoignez-nous