IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Inclure un bout de code


Sujet :

ASP.NET

  1. #1
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut Inclure un bout de code
    Bonjour,
    Voila je developpe une application web en asp.net associé au VB.net qui est composé de plusieurs pages. Ma base de donnée est sql server.
    Le problème c'est que je connecte chaque page de mon application à ma base de données avec les memes identifiants.
    Evidement vous remarquerez que c'est lourd, c'est pourquoi je voudrais mettre le code de l'ouverture et la fermeture de connection quelque part (un fichier ou la page index je sais pas...) et à chaque fois l'inclure dans les autres pages. Comme je suis débutant en asp.net j'ai quelques soucis de codes et de synthaxes.

    Merci d'avance

  2. #2
    Membre éclairé Avatar de hamouda64
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Par défaut
    Bonjour,

    je te propose d'utiliser des classes qui tu permet d'accéder a la base de données sans que tu te casse pas la tête avec ça, comme SQLHELPER(Data Access Application Block)

    http://msdn.microsoft.com/en-us/library/ms954827

    tu trouvera aussi sur le lien suivant, la méthode traditionnel pour accédé a la base de données :

    http://www.codersource.net/asp-net/a...ion-block.aspx

    Bonne courage

  3. #3
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    J'aime mieux le concrèt, ok je disais, voici mon code de connection que je met dans une page connect.aspx par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <%@ import Namespace= "System.Data" %> 
    <%@ import Namespace= "System.Data.SqlClient" %> 
     
    <script language= "VB" runat= "server" > 
     
       Sub Page_Load () 
     
    Dim strConnection as String = "user id=sa;password=toto;" 
         strConnection += "database=MaBase;server=MyServer;" 
         strConnection += "Connect Timeout=30" 
         Dim objConnection as New SqlConnection ( strConnection ) 
         try 
           objConnection.Open () 
    	' Ici je ce sont les requetes suivant les pages'   
           objConnection.Close () 
     
         catch e as Exception 
           con_close.text=e.ToString () 
           end try 
    </script>
    Et dans la page (je vais dire page1.aspx) j'aimerais executer une requete à partir d'une table de MyBase:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    sub req (sender As Object, e As System.EventArgs)
    'Exécution dune requête SELECT'
           Dim myCommand As New SqlCommand("select nom from CLIENT", objConnection)
           Dim myReader As SqlDataReader = myCommand.ExecuteReader()
     
          while  myReader.Read()
           DropDownList1.Items.add(myReader(0))
     
             End While
    	     myReader.Close()
    Qu'es-ce qui manque pour executer bien cette requete?
    Merci

  4. #4
    Membre éclairé Avatar de hamouda64
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Par défaut
    Au niveau de ta "page1.aspx", il faut juste rajouter SqlConnection comme tu as met au niveau de ta page "connect.aspx" après tu exécute ta commande et ca doit marcher

  5. #5
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    sa ne passe pas !!! En gros je veux partager cette connexion que j'établie dans la première page sans avoir à réecrire chaque fois la connection dans les pages qui suivent.

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Utiliser le pattern Singleton pour gérer une connexion à une base de données dans une application ASP.NET n'est pas conseillé.

    Si la connexion est correctement verouillée, cela signifie que ASP.NET ne peut servir qu'un seul utilisateur à la fois, ce qui limite sérieusement la capacité de ton application à gérer de nombreuses connexion simultanées. Et dans le cas où la connexion est mal vérouillée, les choses peuvent devenir vraiment bizarre. Par exemple, un thread peut disposer de la connexion pendant qu'un autre thread tente d'exécuter une commande à son encontre.

    Au lieu d'utiliser une connexion unique, tu devrais simplement créer des nouvelles connexions quand tu en as besoin, afin de profiter du Pooling.

    Le pool de connexion est le comportement par défaut pour les classes SqlClient (et probablement d'autres providers). Lorsque tu utilises le pool de connexions, chaque fois que tu créés une connexion, celle-ci sera obtenue à partir d'un pool de celles qui existent afin que tu n'ais pas à supporter le coût d'instanciation à chaque fois. Lorsque tu libères la connexion, tu la retournes au pool de connexions.

    Bref, je t'invite à consulter la documentation du le Pooling de connexion.

    En espérant t'avoir aidé.

  7. #7
    Membre éclairé Avatar de SonnyFab
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    498
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Merci je vais essayé de lire le pooling de connexion. je suis un novice dans la chose donc tu me comprend un peu si je te dis que se que tu vien de me raconter ressemble au chinois
    Mais un futur grand développeur dois fouiller merci je vais lire et vous refaire signe. Mais juste une question pour finir, dans mon cas bien qu'il y'est plusieur utilisateur dans ma base de données, si mon application tourne sur un réseau, les utilisateurs ne pourront pas accéder en simultané?

Discussions similaires

  1. xmlhttprequest - inclure un bout de code
    Par ryoh1 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 21/08/2008, 21h28
  2. Réponses: 9
    Dernier message: 04/07/2007, 19h27
  3. bout de code à dechifrer svp
    Par bball dans le forum C
    Réponses: 32
    Dernier message: 20/01/2005, 23h23
  4. [JSP] [include] inclure un morceau de code
    Par viena dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/01/2005, 11h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo