Précédent   Forum du club des développeurs et IT Pro > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/08/2012, 15h20   #1
Le gris
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 142
Détails du profil
Informations personnelles :
Âge : 34

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 142
Points : 41
Points : 41
Envoyer un message via MSN à Le gris Envoyer un message via Yahoo à Le gris
Par défaut Requête paramétrée avec deux paramètres

Bonjour à tous,
je souhaite faire une requête paramétrée avec deux paramètres du genre

Code :
" SELECT tbuser.ulogin, tbuser.upasswd, tbuser.uemployeur FROM public.tbuser WHERE tbuser.ulogin = param1 AND tbuser.upasswd = $param2
Voilàa ce que j'ai fait, mais apparemment ce n'est pas bon:
Code :
" SELECT tbuser.ulogin, tbuser.upasswd, tbuser.uemployeur FROM public.tbuser WHERE tbuser.ulogin = $1 AND tbuser.upasswd = $2
J'ai une erreur e syntaxe. Un coup de pousse sera apprécié. Merci d'avance.
Le gris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2012, 17h02   #2
estofilo
Modérateur
 
Inscription : octobre 2008
Messages : 1 702
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 702
Points : 2 347
Points : 2 347
Il manque le contexte pour répondre à cette question.

Les requêtes se lancent dans un environnement comme un langage de programmation ou un programme comme psql ou pgadmin et la manière dont les paramètres doivent être passés dépend de cet environnement.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2012, 17h35   #3
Le gris
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 142
Détails du profil
Informations personnelles :
Âge : 34

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 142
Points : 41
Points : 41
Envoyer un message via MSN à Le gris Envoyer un message via Yahoo à Le gris
Le contexte c'est C# (VisualStudio).
Le gris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2012, 18h10   #4
Le gris
Membre du Club
 
Développeur informatique
Inscription : septembre 2005
Messages : 142
Détails du profil
Informations personnelles :
Âge : 34

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : septembre 2005
Messages : 142
Points : 41
Points : 41
Envoyer un message via MSN à Le gris Envoyer un message via Yahoo à Le gris
En C# voilà le code
Code :
1
2
3
4
5
6
7
8
9
 
OdbcCommand maCommande = new OdbcCommand("SELECT ulogin,upasswd,uemployeur FROM tbuser WHERE" + " ulogin=@param1 AND upasswd=@param2 ", maConnection);
                //Paramètres 
                maCommande.Parameters.ADD(new OdbcParameter("@param1", OdbcType.VarChar, 50));
                maCommande.Parameters["@param1"].Value = txtparam1;
                maCommande.Parameters.ADD(new OdbcParameter("@param2", OdbcType.VarChar, 50));
                maCommande.Parameters["@param2"].Value = txtparam2;
                //ON lit les infos avec le reader                
                RETURN maCommande.ExecuteReader();
Mais j'ai une erreur en retour.

Je suis donc partie dans pgAdmin pour verifier la requête elle même
Citation:
"SELECT ulogin,upasswd,uemployeur FROM tbuser WHERE" + " ulogin=@param1 AND upasswd=@param2 "
Mais j'ai une erreur donc besoin d'aide.
Le gris est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2012, 11h35   #5
estofilo
Modérateur
 
Inscription : octobre 2008
Messages : 1 702
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : octobre 2008
Messages : 1 702
Points : 2 347
Points : 2 347
Sous pgAdmin il faudrait envoyer du SQL pur, c.a.d débarassé des syntaxes du genre @param qui sont destinées à l'API ODBC dans C#, et également des signes + ou double quotes de constructeurs de chaînes.

En fait pgAdmin risque de ne pas aider beaucoup pour ton problème.

En revanche le message d'erreur du code C# est censé aider.
estofilo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h38.


 
 
 
 
Partenaires

Hébergement Web