Utiliser la valeur d'une textbox dans une requete [Résolu]

cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 22 sept. 2006 à 16:40 - Dernière réponse : lazer819 12 Messages postés dimanche 23 décembre 2007Date d'inscription 20 mars 2008 Dernière intervention
- 6 mars 2008 à 23:48
Bonjour,


J'ai un probleme avec l'application que je développe.


Dans un premier temps l'application charge une table dans un datagrid : aucun probleme.

Ensuite le focus s'effectue sur la premiere ligne et les détails des valeurs s'affiche dans des TextBox : pas de probleme.


Ensuite je dois afficher une autre table dans un deuxieme datagrid,
cette table doit s'afficher en fonction de la ligne sélectionnée
précédemment dans le 1er datagrid. probleme ... car la valeur de la
clause where pour le chargement de la deuxieme table n'est pas
accessible. que faire ? recréer une requete pour prendre
l'identifiant(qui n'est pas afficher) de la premiere ligne surligné ,
puis le transmettre a une autre requete de facon a afficher dans le
deuxieme datagrid les valeurs avec une clause where avec l'identifiant
récupéré . . . . euh oui mais comment . .?  ? la je pense qu'il y
a plus simple mais je suis a cours d'idée.


De plus je ne sais pas concaténer une valeur de text box avec une requete sql (par exmple pour créer une clause where) . . .


Merci de me répondre . . . car la je stagne . . .
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 22 sept. 2006 à 18:04
3
Merci
Salut,

Pour la concaténation :

String sQuery = "SELECT * FROM uneTable WHERE LeChamp='" + TextBox1.Text + "';"

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.

Merci econs 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de econs
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 22 sept. 2006 à 20:35
0
Merci
Salut,

En n'oubliant pas, naturellement, d'abandonner définitivement la méthode de concaténation pour l'utilisation des requêtes paramétrées, car si jamais l'utilisateur saisi un texte de ce genre :
';TRUNCATE TABLE uneTable;SELECT 1
...

Injection SQL

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq
econs 4066 Messages postés mardi 13 mai 2003Date d'inscription 23 décembre 2008 Dernière intervention - 22 sept. 2006 à 20:45
0
Merci
et là ... c'est le drame !

Manu
--------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
Commenter la réponse de econs
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 22 sept. 2006 à 20:48
0
Merci
Oui, donc autant l'éviter ;-)

/*
coq
MVP Visual C#
CoqBlog
*/
Commenter la réponse de cs_coq
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 25 sept. 2006 à 14:38
0
Merci
Merci pour vos réponses, il n'y a pa de problemes de SQL Injection car
les requetes serventa remplir un datagrid, et l'utilisateur ne peut en
rien modifier la requete !!


Par contre j'ai un petit souci quand j'utilise la concaténation .


               oracleConnection1.Open();

               dataSet21.Clear();

              
String sQuery "SELECT * FROM matable WHERE :moncham'" +
this.textBoxid.Text + "';" ;

               this.oracleCommandadapter2.CommandText = sQuery ;

                this.oracleDataAdapter2.Fill(dataSet21);

                oracleConnection1.Close();


j'utilise tout ca a l'interieur d'un try catch, et lorsque j'arrive sur
la ligne :  this.oracleDataAdapter2.Fill(dataSet21);

mon catch est effectif et le remplissage ne se fait donc pas . . . d'ou cela peut il venir ?


je n'ai pas l'affichage de ma table dans le datagrid .

J'aimerai pouvoir afficher cette table en fonction de la valeur de
moncham dans la ligne sélectionné dans le 1er datagrid . La valeur de
moncham est extraite dans la textBoxid lors du remplissage du premier
datagrid .

Please help ...
Commenter la réponse de cs_brute
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 25 sept. 2006 à 15:32
0
Merci
quelqu'un a une idée de ce qui peut se passer ?

car la .  . .. comprend pas ..
Commenter la réponse de cs_brute
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 26 sept. 2006 à 12:31
0
Merci
j'ai une erreur de Type : ORA-00911 : caractère non valide .

Ca viendrai peut etre de ma requete, j'ai peut etre oublié d'utiliser une méthode setParameter() ?? 

Please help 
Commenter la réponse de cs_brute
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 26 sept. 2006 à 12:45
0
Merci
Salut


Je suis pas un expert sous oracle, mais le ':' apres le WHERE, il le comprend ?
Quelle est la valeur exacte que prend ta chaine ?





Mx
MVP C#
 
Commenter la réponse de MorpionMx
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 26 sept. 2006 à 12:54
0
Merci
apres la clause where j'ai changé le :monchamp par MON_CHAMP . (MON_CHAMP est directement le nom de la colonne et non le nom du parametre !!)

apres cette modif , la connexion et l'affichage marche .

Par contre j'ai un probleme au niveau de l'affichage du datagrid : certaine colonne sont en double avec un nom d'alias et leur valeur est a null , comment puis-je faire pour virer les colonnes du datagrid ou pour insérer des alias dans ma requete, car je n'arrive pas a concaténé correctement
Commenter la réponse de cs_brute
cs_brute 135 Messages postés mercredi 8 novembre 2000Date d'inscription 11 mai 2007 Dernière intervention - 26 sept. 2006 à 13:10
0
Merci
ca doit se passer dans le dataset ....
Commenter la réponse de cs_brute
lazer819 12 Messages postés dimanche 23 décembre 2007Date d'inscription 20 mars 2008 Dernière intervention - 6 mars 2008 à 23:48
0
Merci
slt svp qell k1 me aidé  pour trouvé un code pour remplir un datagrid avec une valeur de  textbox  just un click sur  button vb.net 2005
Commenter la réponse de lazer819

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.