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 :

Utilisation d'un sqldatasource


Sujet :

ASP.NET

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut Utilisation d'un sqldatasource
    Bonjour,
    Depuis quelques mois pour me connecter à ma base de données MS Sql Server j'utilise cette méthode:
    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
     Dim strConnection as String = "user id=sa;password=toto;" 
     strConnection += "database=MaBase;server=MonServer;" 
     
     Dim Conn as New SqlConnection ( strConnection ) 
     Conn.Open () 
     
       'Exécution dune requête SELECT'
     
        Dim Command As New SqlCommand("select * from MaTable ", Conn)
        Dim reader As SqlDataReader = Command.ExecuteReader()
     
        'Puis je fais ce que je veux du resultat ici'
     
        reader.close()
        Conn.close()
    Mais j'aimerais l'équivalent avec un sqldatasource. J'y arrive pas.
    C'est surtout pour enrichir mon repertoire de code et parceque je suis toujours obligé de mettre ma partie dans une fonction or j'ai bien envie desfois de tout laisser dans le <body>
    Merci

  2. #2
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    http://msdn.microsoft.com/fr-fr/libr...8VS.80%29.aspx

    tu peux également passer en mode design de ton aspx pour éditer ton sqldatasource afin de voir comment ca va

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    J'ai cette erreur:
    Le nom de connexion 'MyNorthwind' est introuvable dans la configuration des applications, ou la chaîne de connexion est vide.
    J'ai oublié de te dire que j'ai jamais pu me connnecter de cette facon je sais pourquoi, je code en asp.net associé au vb.net voic mon code:
    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
     <BODY>
        <FORM runat="server">
     
          <asp:SqlDataSource
              id="SqlDataSource1"
              runat="server"
              DataSourceMode="DataReader"
              ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
              SelectCommand="SELECT mob,nom,idPrepaid FROM Community">
          </asp:SqlDataSource>
     
          <asp:GridView
              id="GridView1"
              runat="server"
              DataSourceID="SqlDataSource1">
          </asp:GridView>
     
        </FORM>
    A quel moment on donne le nom du server,le nom de la base, le user et son mot de passe? C'est un code pris sur ton lien que j'ai éssayé d'adapté à mes besoins mais je comprends pas

  4. #4
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    dans la propriété "connectionString".

    ici tu as renseigné "mynorthwind" qui visiblement n'existe pas.

    sers toi du code que tu avais déjà fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim strConnection as String = "user id=sa;password=toto;" 
     strConnection += "database=MaBase;server=MonServer;"

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Mais c'est là où le bas blesse! Si j'utilise mon code sa passera mais dans ce cas j'aurais pas utilisé la balise sqldatasource, je sais pas si tu comprend mon problème. Je veux l'utilisé dans le body comme c'est dans l'exemple, et puis c'est quoi ce MyNorthwind? Je le vois partout

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    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
     
    <FORM  runat="server">
     <asp:SqlDataSource id="SqlDataSource1"
              runat="server"
              DataSourceMode="DataReader"
              ConnectionString="<%$ ConnectionStrings:"user id=sa;password=toto;MaBase=MSIDB;server=MonServer;"%>"
              SelectCommand="SELECT * FROM dbo.IT_CommunautySynch">
          </asp:SqlDataSource>
     
          <asp:GridView
              id="GridView1"
              runat="server"
              DataSourceID="SqlDataSource1">
          </asp:GridView>
     
        </FORM>
    Avec ce code (enfin j'espere que c'est ce que tu me disais de faire) j'ai une erreur étrange:
    La balise serveur n'est pas correcte.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    J'en peut plus là on joue au chat et à la souris !!!!

    Quand j'enleve runat server, il me demande d'utilisé la balise literal
    Je fais un copier/coller et j'utilise literal:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     </asp:SqlDataSource>
     
         <asp:Literal Text="<%$ ConnectionStrings:"user id=sa;password=toto;database=MaBase;server=MonServer;"%>" runat="server" />
     
          <asp:GridView
    Et la il m'affiche encore:
    La balise serveur n'est pas correcte.
    Quand j'enleve runat, comme pour me dire tu recopies mal il me redemande d'utiliser literal comme c'est écris la première fois !
    Wahou,sa c'est de la programmation spaghettis sa

  8. #8
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    Mais c'est là où le bas blesse! Si j'utilise mon code sa passera mais dans ce cas j'aurais pas utilisé la balise sqldatasource, je sais pas si tu comprend mon problème. Je veux l'utilisé dans le body comme c'est dans l'exemple, et puis c'est quoi ce MyNorthwind? Je le vois partout
    je ne comprends pas ce qui ne va pas.
    que tu utilises un sqldatasource ou pas tu as de toute façon besoin de définir une connectionstring quelque part! ton application ne sait pas deviner seule ou aller chercher les données

    Citation Envoyé par SonnyFab Voir le message
    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
     
    <FORM  runat="server">
     <asp:SqlDataSource id="SqlDataSource1"
              runat="server"
              DataSourceMode="DataReader"
              ConnectionString="<%$ ConnectionStrings:"user id=sa;password=toto;MaBase=MSIDB;server=MonServer;"%>"
              SelectCommand="SELECT * FROM dbo.IT_CommunautySynch">
          </asp:SqlDataSource>
     
          <asp:GridView
              id="GridView1"
              runat="server"
              DataSourceID="SqlDataSource1">
          </asp:GridView>
     
        </FORM>
    Avec ce code (enfin j'espere que c'est ce que tu me disais de faire) j'ai une erreur étrange:
    c'est normal tu utilises le code pour aller rechercher une connectionstring déjà définie. place juste les définitions userid, ....

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    c'est normal tu utilises le code pour aller rechercher une connectionstring déjà définie. place juste les définitions userid, ....
    Concrètement tu me demande defaire quoi s'il te plait parce que là je ne te suis plus...
    Ce qui ne va pas c'est qu'à chaque fois il m'affiche les erreurs que je t'ai cité plus haut

  10. #10
    Membre confirmé
    Homme Profil pro
    dev
    Inscrit en
    Mai 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2007
    Messages : 73
    Par défaut
    bonjour

    La caine de connexion doit se trouver dans ton fichier Web.Config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <connectionStrings>
    <add name="MPConnectionString" connectionString = Data Source=xxxxxxxxxxxx;Initial Catalog=xxxxxxxx;Trusted_Connection=No;User ID=xxxxxx;Password=xxxxxxx"/>

    et dans ton .aspx du appel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ConnectionString="<%$ ConnectionStrings:MPConnectionString %>"

  11. #11
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    Citation Envoyé par primactif Voir le message
    bonjour

    La caine de connexion doit se trouver dans ton fichier Web.Config
    <connectionStrings>
    <add name="MPConnectionString" connectionString = Data Source=xxxxxxxxxxxx;Initial Catalog=xxxxxxxx;Trusted_Connection=No;User ID=xxxxxx;Password=xxxxxxx"/>
    et dans ton .aspx du appel
    ConnectionString="<%$ ConnectionStrings:MPConnectionString %>"
    elle peut, elle ne doit pas.

    soit tu la défini sur place avec juste les propriétés de définition.
    soit tu la défini autre part (web.config) et tu vas la rechercher comme avec le code qui va rechercher "mynorthwind".

    tu mélangeais les codes avec la syntaxe pour aller rechercher une connectionstring toute faite avec la définition.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    elle peut, elle ne doit pas.
    Cela veut dire qu'on peut directement la mettre dans le code avec les autres balises?

  13. #13
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    Cela veut dire qu'on peut directement la mettre dans le code avec les autres balises?
    oui.

    mais pour diverses raisons (sécurité, réutilisation/gestion centralisée) il vaut mieux la placer dans un fichier comme le web.config.

    donc soit tu la définis en live.
    soit tu la définis comme primactif te l'a conseillé et va la rechercher via
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
    ou mynorthwind est ta chaine de connexion.

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 498
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     <asp:SqlDataSource id="SqlDataSource1"
              runat="server"
              DataSourceMode="DataReader"
              ConnectionString="user id=sa;password=toto
    ;database=MaBase;server=MonServer;"
              SelectCommand="SELECT * FROM dbo.IT_CommunautySynch">
          </asp:SqlDataSource>
     
          <asp:GridView
              id="GridView1"
              runat="server"
              DataSourceID="SqlDataSource1">
          </asp:GridView>
    J'hésitais à utiliser le web.config pour éviter les tracasserie quand je vais l'envoyer sur le server, C'est ok sa passe, mais dis moi Cortex, il affiche directement les données y'a-til un moyen de cacher le contenue avec un ***=false s'il te plait?

    Aussi esque si je change de page la connection se ferme ?

  15. #15
    Membre extrêmement actif Avatar de cortex024
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 301
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 301
    Par défaut
    Citation Envoyé par SonnyFab Voir le message
    C'est ok sa passe, mais dis moi Cortex, il affiche directement les données y'a-til un moyen de cacher le contenue avec un ***=false s'il te plait?

    Aussi esque si je change de page la connection se ferme ?
    oui si tu relies un sqldatasource à ton gridview avec un select, ce select va s'effectuer au chargement de la page.
    si tu veux un visible false, tu peux toujours masquer ton gridview en le placant en visible false mais tu risques d'y perdre en performances dans la mesure ou ta requête va tout de même s'exécuter. c'est pas top!

    la connexion se ferme dès la requête terminée il me semble. dans la mesure où c'est le sqldatasource qui se charge de l'ouvrir puis de faire le select.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 02/12/2008, 22h59
  2. Peux-t-on utiliser un SqlDataSource avec Oracle(odt)?
    Par cyril dans le forum Accès aux données
    Réponses: 3
    Dernier message: 02/12/2008, 17h54
  3. Réponses: 7
    Dernier message: 21/07/2008, 12h45
  4. Comment utiliser <asp:SqlDataSource>
    Par dieudo dans le forum ASP.NET
    Réponses: 5
    Dernier message: 28/02/2008, 11h59
  5. Réponses: 2
    Dernier message: 24/08/2006, 17h48

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