cs_brute
Messages postés135Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention11 mai 2007
-
22 sept. 2006 à 16:40
lazer819
Messages postés12Date d'inscriptiondimanche 23 décembre 2007StatutMembreDernière intervention20 mars 2008
-
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) . . .
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200825 22 sept. 2006 à 18:04
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.
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 22 sept. 2006 à 20:35
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
...
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200825 22 sept. 2006 à 20:45
et là ... c'est le drame !
Manu --------------------------------------------------------------------------------------------
Avant de poster un message, n'oubliez pas de consulter le reglement.
cs_brute
Messages postés135Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention11 mai 20071 25 sept. 2006 à 14:38
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 .
cs_brute
Messages postés135Date d'inscriptionmercredi 8 novembre 2000StatutMembreDernière intervention11 mai 20071 26 sept. 2006 à 12:54
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