Déclaration requete SELECT avec Alias, Rowcount et clause where + textbox [Résolu]

Signaler
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
-
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
-
Bonjour a tous , j'ai un probleme avec la déclaration de ma requete SELECT .

String Requete = "SELECT NUMERO AS 'Numéro', DATE_CREATION AS 'Date', A_MORDRE AS 'A mordre', NB_FILLE + NB_GARCON AS 'Nbre Total',  ID FROM (SELECT * FROM MATABLE) WHERE ROWNUM <= '" + this.textBoxnum + "' AND NUMERO LIKE ''" + this.numericUpDown1.Value + "'%';";

En fait, j'aimerai sélectionner un nombre voulu d'enregistrement ( rentré par l'utilisateur dans la textboxnum),
j'aimerai aussi un filtre sur le premier chiffre de la colonne NUMERO (LIKE '1%').

Cette requete fonctionne bien sous sql, mais il y a un probleme avec les caractères d'échapement sou .NET .

Please Help me ...

13 réponses

Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
J'ai trouvé il suffit de remplacer les ' par " et de mettre un caractere d'échapement avant chaque " comme suit : /"

et voila :)
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
on le répète à chaque fois... mais à croire que ca ne suffit pas...

Vous être sûr de votre requête utilisez les paramètres plutot que la construction dynamique.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
Ma requete fonctionne bien , c'est lorsque je l'integre sou .NET qu'il y a un probleme....

construction dynamique ??? c'est quoi ?
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
remplace ca :
String Requete = "SELECT NUMERO AS 'Numéro', DATE_CREATION AS 'Date', A_MORDRE AS 'A mordre', NB_FILLE + NB_GARCON AS 'Nbre Total',  ID FROM (SELECT * FROM MATABLE) WHERE ROWNUM <= '" + this.textBoxnum + "' AND NUMERO LIKE ' '" + this.numericUpDown1.Value + "'%';";

par :

String Requete = "SELECT NUMERO AS 'Numéro', DATE_CREATION AS 'Date', A_MORDRE AS 'A mordre', NB_FILLE + NB_GARCON AS 'Nbre Total',  ID FROM (SELECT * FROM MATABLE) WHERE ROWNUM <= '$param1' AND NUMERO LIKE '$param2%';";

concernant ton erreur... elle est en rouge dans la première requête ;)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
que signifie $param1' et param2 ???? mon erreur dit que le mot clé FROM et absent ou mal placé .. ?? ? ? ?
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
meme erreur en essayant ta solution ... peut etre est-ce au niveau des cotes qui sont mal prise en compte ??
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
Une solution qui fait fonctionner ma requete en Sql sans .NET est de mettre des double cote a la place des simple cote ...

Par contre sous .NET c'est la misere au nivea udes caracteres d'échapement !!!
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
les $param1 et $param2... c'est pour passer des paramètres à ta requête sans passer par la concaténation...
Il faut utiliser la collection Parameters de ton DbCommand

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
c'est bizzare que ca marche avec les double cote sous sql , mais pas sous .NET
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
meme avec la collection parametre j'ai toujours la meme erreur .... pourtant la premiere requete marche sou SQL mais pas sou .NET ??????
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
34
c'est quoi le message d'erreur ?

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
le mot clé FROM absent a l'emplacement prévu ....
Messages postés
135
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
11 mai 2007
1
en Fait j'ai trouvé une requete qui marche avec des " a la place des ' mais sous .NET je n'arrive pas a remplacer sans qu'il y a iune erreur !! Peut etre qu'il faut que j'utilise le caractere d'échapement avant ??? au fait c'est quoi le caractere d'échapement sou C# .NET 1.1 ???