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 :

Confusion sur les connexions datasource


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 Confusion sur les connexions datasource
    Bonjour,
    en manipulant les datasources je me suis rendu compte que un code aspx de ce type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <form runat="server" method="post">
     
    		<asp:SqlDataSource id="mydata"
              runat="server"
              DataSourceMode="DataReader"
              ConnectionString="user id=sa;password=toto;
               database=MSIDB;server=toti;">
          </asp:SqlDataSource>
    </form>
    la connexion est ouverte pour afficher toutes les gridview voulus en fonction des requetes.

    Mon problème, j'aimerais savoir à quelle moment la connexion se ferme.

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Cette question confirme la réponse que je viens de faire à l'instant sur ton post concernant la datasource d'un repeater.

    Un SQLDataSource c'est bien, mais avant de s'en servir il faut comprendre ce qu'il fait à ta place!
    Supprime ton SQLDataSource et binde ta grid à la main, en construisant toi-même ta source de données. Là, tu comprendras mieux le concept de binding.

    PS : le SQLDataSource clos la connexion à la fin de l'exécution de sa requête.

  3. #3
    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 : 41
    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
    Yes, c'est le principe d'une SQLDataSource. Je confirme les propos de calagan99 :

    At run time, the SqlDataSource control automatically opens the database connection, executes the SQL statement or stored procedure, returns the selected data (if any), and then closes the connection.
    Pour plus d'infos : http://msdn.microsoft.com/en-us/library/dz12d98w.aspx

  4. #4
    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
    PS : le SQLDataSource clos la connexion à la fin de l'exécution de sa requête.
    Une unique requete?
    Je te le demande parceque lorsque j'utilise ce code en rajouter 2 Gridviews simples le code suivant m'affiche bien les gidviews avec la même souce.
    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
    Protected sub page_load(ByVal sender As Object, ByVal e As System.EventArgs)
     
     SqlClients.selectcommand ="SELECT clients,comprepaid FROM dbo.IT_CommunautySynch " 
     GV.DataBind()
     
    end sub
     
    sub  testDeConnexion(ByVal sender As Object, ByVal e As System.EventArgs)
    'Ici j appele cette fonction grace à un bouton'
    GV.visible=false  'Je cache la première GV'
     
    SqlClients.selectcommand ="select * from dbo.IT_ALLCOMMUNAUTERS " 
     GV1.DataBind()   ' J affiche la 2ème'
     
    btn1.Visible=true
    btn2.Visible=false
    end sub

  5. #5
    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 : 41
    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
    Si tu changes la selectcommand, à chaque requête la SQLDataSource va ouvrir/fermer une connection.

    Mais, globalement ce n'est pas une utilisation orthodoxe d'une SQLDataSource que de changer la requête select à chaque fois...

  6. #6
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    Ce qui me donne des frissons (voir de l'urticaire) c'est une requête SQL mélangée avec un bouton. Brrrr!

    SonnyFab, sais-tu qu'une application dont on a séparé la logique d'affichage de la logique métier de la logique d'accès aux données est beaucoup plus facilement maintenable?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. Information sur les connexions
    Par dari68 dans le forum Administration
    Réponses: 5
    Dernier message: 11/03/2010, 16h32
  2. Confusions sur les permissions d'existence des tables
    Par DEV-10 dans le forum Développement
    Réponses: 28
    Dernier message: 15/10/2009, 15h37
  3. Réponses: 5
    Dernier message: 30/09/2009, 18h40
  4. [EF] Performance sur les connexions
    Par stephane.julien dans le forum Accès aux données
    Réponses: 1
    Dernier message: 17/03/2009, 14h18
  5. Récupérer des informations sur les connexions réseau
    Par Leobaillard dans le forum Delphi
    Réponses: 8
    Dernier message: 31/08/2006, 01h20

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