Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1011 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu][Débutant C#] - Requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu][Débutant C#] - Requete SQL

n°1557811
littlegunn​m
Posté le 10-05-2007 à 10:42:19  profilanswer
 

Bonjour,  
 
mon problème est le suivant :
je réalise un formualire en asp.net et c#.
j'utilise un <form id="Form1" method="post" runat="server">
J'ai un bouton pour "publier" les données saisies dans le formulaire avec une action dans le code behind.
 
Le hic cest que je n'arrive a trouver ce que je dois écrire et ou je dois l'écrire le code pour changer la valeur de la variable action du form, car celle ci reste tjrs la meme.  
J'ai essayer avec :
<form id="Form1" method="post" runat="server" action="tutu.aspx">
mais dans le code html généré le paramètre action reste "tata.aspx" qui est le nom de ma première page.
 
j'espere que je me suis fais comprendre.
 
merci d'avance


Message édité par littlegunnm le 16-05-2007 à 10:55:33
mood
Publicité
Posté le 10-05-2007 à 10:42:19  profilanswer
 

n°1558067
littlegunn​m
Posté le 10-05-2007 à 14:42:18  profilanswer
 

personne :'(

n°1558647
littlegunn​m
Posté le 11-05-2007 à 09:58:01  profilanswer
 

bon bah tant pis :(
 
je tente une deuxieme question ;)  
 
Donc la c est pour une requete SQL  :  
 

Code :
  1. Mes variables :
  2. monSi =Convert.ToInt16(DeroulantProjet.SelectedValue);
  3. monType =Convert.ToInt16(DeroulantType.SelectedValue);
  4. mes variables sont bien du type Int
  5. MA requete :
  6. versionDoc=DAO.ExecuteDataset(ConnDB.UseConnection("Ma_Base" ),CommandType.Text,"SELECT id_doc_publication, titre_doc_publication, description_doc_publication, version_doc_publication FROM Doc_publication
  7. WHERE (id_si=monSi AND Type_doc_publication_id_type_doc_publication=monType)
  8. ORDER BY version_doc_publication DESC" );


 
la requete fonctionne avec entier fixés (exemple 1, 2, ...)
Mais elle n'a pas réussi avec les variables...je n' ai trouver la bonne synthaxe sur google pour un SELECT avec un WHERE utilisant des variables, si quelqu'un a une proposition ;)
 
merci d'avance


Message édité par littlegunnm le 11-05-2007 à 10:06:11
n°1559204
vlad'
Posté le 11-05-2007 à 22:10:17  profilanswer
 

Premiere question :
l'asp .NET fonctionne sur le principe du postback (le webform est posté sur lui meme, ce qui permet de capter des evenements et coder les comportement à adopter dans le code behind).
 
Le formulaire dont tu parles est celui du webform (propre à la page aspx). Tu ne peux pas modifier son action car il est runat="server".
 
Pour poster un formulaire "classique" crée une balise form sans l'attribut runat="server".
 
En asp, pour passer des paramètres à une autre page, en général on les passent par l'adresse (si les données ne sont pas sensibles) ou par session. Tu peux crée un formulaire classique pour passer des données en post mais l'interet est limité dans ce contexte.
 
Deuxieme question :
 

Code :
  1. "SELECT id_doc_publication, titre_doc_publication, description_doc_publication, version_doc_publication FROM Doc_publication WHERE
  2. (id_si= " + monSi + " AND Type_doc_publication_id_type_doc_publication= " + monType + " )ORDER BY version_doc_publication DESC"


Message édité par vlad' le 11-05-2007 à 22:12:19

---------------
Mon feedback
n°1559722
moi23372
Posté le 13-05-2007 à 20:43:20  profilanswer
 

pas génial ta solution pour sa requête SQL.
Il doit absolument passer par des objets tel que SQLParameter, OracleParameter, OleDbParamter, etc...
 
Sinon, bonjour l'intrusion SQL...  
 
La bonne méthode, c'est passer par ce genre d'objet, certe ta méthode fonctionne, mais elle n'est pas propre.

Message cité 1 fois
Message édité par moi23372 le 13-05-2007 à 20:43:48
n°1559776
vlad'
Posté le 13-05-2007 à 23:15:15  profilanswer
 

moi23372 a écrit :

pas génial ta solution pour sa requête SQL.
Il doit absolument passer par des objets tel que SQLParameter, OracleParameter, OleDbParamter, etc...
 
Sinon, bonjour l'intrusion SQL...  
 
La bonne méthode, c'est passer par ce genre d'objet, certe ta méthode fonctionne, mais elle n'est pas propre.


 
J'ai opté pour corriger son code (concaténation d'une chaine avec une variable).
 
Et détrompe toi, on ne doit pas "absolument passer par des objets tel que SQLParameter..."
Il y eu une vie avec les objets Parameter...
 
L'interet des paramètres pour une requète aussi basique est négligeable (n'apporte ni lisibilité, ni fonctionnalité, seulement du travail en plus pour soit meme et la machine).
 
L'argument comme quoi l'utilisation de parametres protègent de l'injection de code SQl est certe vrai mais n'est pas suffisant.
Il suffit de faire attention a "protégé" (double-quoté) le contenu des variables de type String systématiquement.
Dans son cas les variables sont des int (String converti en int), l'injection est donc impossible.


Message édité par vlad' le 13-05-2007 à 23:21:07

---------------
Mon feedback
n°1561004
littlegunn​m
Posté le 16-05-2007 à 10:53:08  profilanswer
 

Merci désolé j'etais pas revenue voir :p
Merci pour la solution pour le lien
 
Pour la question sur la requete c est ce que j'avais trouvé ;)
 
Merci encore


Message édité par littlegunnm le 16-05-2007 à 10:55:15

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  [Résolu][Débutant C#] - Requete SQL

 

Sujets relatifs
[Perl - Débutant]Probleme de comparaison de 2 chainesCalcul de durée totale/de session
Calcul de nombres complexes [RESOLU][Résolu] Comment faire ???
[résolu] [DOS] del sans confirmation[résolu] lien entre la 3D et c#
[HTACCESS/Résolu] Authentification conditionnéeQuelle requête est la plus rapide?
[résolu]Java:Appliquer une methode héritée sur un objet[résolu] Graphique, localisation sur la page
Plus de sujets relatifs à : [Résolu][Débutant C#] - Requete SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR