begin process at 2008 08 28 21:30:05
1 233 393 membres
485 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Accès à un user control impossible [ WebForms / UserControl ] (Sabine26)

Accès à un user control impossible le 13/02/2008 11:45:16

Sabine26
Bonjour, Voilà j'ai un petit soucis d'accès à une DropDownList. J'ai une Webform qui se nomme Sales_objectives et qui contient un tableau et une DDL. Une colonne du tableau représente une année, et je voudrais que dans mon tableau ne figure que les données de l'année sélectionnée dans la DDL. Mon tableau est rempli via un ObjectDataSource avec une SelectMethod appelé "getListSales" qui elle est codée dans un .vb dans le répertoire App_Code. Dans ce .vb figure une requete SQL qui sélectionne les champs nécessaires et à pour condition que la date YEAR soit = à DDL1.SelectedValue. Hors DDL1 est considéré comme nouvel objet non déclaré. DOnc la question que je me pose c'est comment faire communiquer les objets entre le .vb et le .aspx sachant qu ils ne sont pas dans le meme répertoire... j'ai essayé de mettre le .vb à la racine où se trouve le .aspx... mais sans succès... donc là je sais pas!!! Merci pour votre aide Sabine

Re : Accès à un user control impossible le 13/02/2008 14:48:35

lassaad83
Membre Club
Réponse acceptée !

Je suis pas sur d'avoir saisi ta question, mais d'après ce que j'ai compris tu n'as qu'a passer la valeur de ton DDL lors de l'appel de la méthode "getListSales" que tu poura reccuperer dans ta requete SQL, un truc de ce genre quoi ....

protected void DDL1_SelectedIndexChanged( object sender, EventArgs e)
{
         getListSales(DDL1.SelectedValue);
}


public void getListSales( string Annee)
{
         string SQL = string .Empty;
         SQL =
"SELECT * FROM DB_ANNEE WHERE ANNEE = '" + Annee + "'" ;
}


----------------------------------------
X
x X Enjoy & Get Connected XxX


Re : Accès à un user control impossible le 13/02/2008 14:58:11

Sabine26
Merciiii Lassaad! ça paraissait logique en plus ;-) Merci Sab

Re : Accès à un user control impossible le 16/02/2008 22:42:51

coq
(Admin CS)
Salut,

2 petites remarques :

Sans tenir compte du problème de sécurité :
public void getListSales( string Annee)
{
         string SQL = string .Empty;
         SQL = "SELECT * FROM DB_ANNEE WHERE ANNEE = '" + Annee + "'" ;
}

Ceci serait mieux :

public void getListSales( string Annee)
{
         string SQL = "SELECT * FROM DB_ANNEE WHERE ANNEE = '" + Annee + "'" ;
}

Mis à part celà, regarder du côté des requetes paramétrées et de ce qu'on appelle l'injection SQL.
Tutos sur le sujet :
http://www.csharpfr.com/tutoriaux/COMMENT-FAIRE-REQUETE-PARAMETREE-DANS-BASE-DONNEE_710.aspx
http://www.csharpfr.com/tutoriaux/UTILISATION-REQUETES-PARAMETREES-AVEC-ADO-NET_709.aspx


/*
coq
MVP Visual C#
CoqBlog
*/

Re : Accès à un user control impossible le 16/02/2008 23:45:39

lassaad83
Membre Club

Comme l'as dit le Coq, il ne faut pas oublier l'aspect sécurité du code nottamment contre SQL Injection.
On peut y remedier soit en faisant une fonction de ce style :

publicstaticstring FSqlString(string Chaine)
{
      
return(Chaine.Trim().Replace("'", "''"));
}

qu'on utilisera de la sorte :

publicvoid getListSales(string Annee)
{
         //string SQL = string.Empty; -> ouai si on veux
         
string SQL = "SELECT * FROM DB_ANNEE WHERE ANNEE = '" + FSqlString(Annee) + "'";
}

Mais que je considère comme "barbare" c'est pourquoi je conseil vivement l'utilisation des requetes paramétrées.

Bon codage...



Classé sous : vb, tableau, control, user, accès

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS