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

Accès aux données Discussion :

C# Visual Studio Npgsql dataset vide


Sujet :

Accès aux données

  1. #1
    Membre émérite Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2005
    Messages : 1 066
    Points : 2 562
    Points
    2 562
    Par défaut C# Visual Studio Npgsql dataset vide
    Bonjour

    Pour un programme en C#, j'utilise Visual Studio 2013 avec le package Npgsql installé.

    Quand j'exécute le code suivant, sans erreur ni warning, la connexion à la base de données est bien effectuée, mais le dataset contient une table sans aucune ligne.

    En utilisant les mêmes paramètres de connexion dans PgAdmin, La même requête m'affiche 1230 lignes.

    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
    21
    22
    23
    24
    25
    26
    27
    
    NpgsqlConnectionStringBuilder stringBuilder = new NpgsqlConnectionStringBuilder();
    
                    stringBuilder.Host = ConfigurationManager.AppSettings["Host"];
                    stringBuilder.Port = Convert.ToInt32(ConfigurationManager.AppSettings["Port"]);
                    stringBuilder.Database = ConfigurationManager.AppSettings["Database"];
                    stringBuilder.Username = ConfigurationManager.AppSettings["Username"];
                    stringBuilder.Password = ConfigurationManager.AppSettings["Password"];
                    stringBuilder.SslMode = SslMode.Disable;
                    stringBuilder.UseSslStream = false;
    
                    NpgsqlConnection ConBddoc = new NpgsqlConnection(stringBuilder.ConnectionString);
    
                    string sql_req = "Select t1.ch1, t1.ch2, t2.ch1 from tab as t1 inner join tb as t2 on t1.val = t2.val where t1.ch3 = 'str1'  and t1.ch4 = 'str2';";
    
                    DataSet ds = new DataSet();
    
                    ConBddoc.Open();
    
                    NpgsqlDataAdapter da = new NpgsqlDataAdapter(sql_req, ConBddoc);
    
                    ds.Clear();
    
                    da.Fill(ds);
    
              ConBddoc.Close();
    Je n'arrives pas à repérer d'où vient le problème, merci pour votre aide


    NB : la base de données est hébergée sur un serveur distant
    il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche
    L'homme est un apprenti, la douleur est son maitre Alfred de Musset
    C'est avoir tort que d'avoir raison trop tôt Praefectus Praetario Hadrianus

    my best memories ever : 2008 London Circle Line "The Booze Train"

  2. #2
    Membre émérite Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2005
    Messages : 1 066
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour

    Je viens de tester un "Select * from t1;" et j'ai aussi un dataset vide dans ce cas.
    il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche
    L'homme est un apprenti, la douleur est son maitre Alfred de Musset
    C'est avoir tort que d'avoir raison trop tôt Praefectus Praetario Hadrianus

    my best memories ever : 2008 London Circle Line "The Booze Train"

  3. #3
    Expert éminent sénior

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    juillet 2016
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : juillet 2016
    Messages : 2 613
    Points : 10 312
    Points
    10 312
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Dans ces cas là, il faut reprendre à la base.

    Tout d'abord, vérifier la chaîne de connexion que te retourne stringBuilder.ConnectionString.

    En piste, tu peux aussi regarder la valeur de la propriété da.MissingSchemaAction et vérifier qu'elle ne vaut pas MissingSchemaAction.Ignore.

    Tu peux également tester avec une requête interrogeant une table qui n'existe pas, pour vérifier si une erreur est levée ou non. Ou en changeant la chaîne de connexion pour t'assurer que tu te connectes bien au bon serveur avec les bons paramètres.
    François DORIN
    Consultant informatique : conception, modélisation, développement (C#/.Net et SQL Server)
    Site internet | Profils Viadéo & LinkedIn
    ---------
    Page de cours : fdorin.developpez.com
    ---------
    N'oubliez pas de consulter la FAQ C# ainsi que les cours et tutoriels

  4. #4
    Membre émérite Avatar de shadowmoon
    Homme Profil pro
    Expert technique et fonctionnel .Net
    Inscrit en
    mai 2005
    Messages
    1 066
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Expert technique et fonctionnel .Net
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2005
    Messages : 1 066
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    Désolé de ne pas être revenu ici plus tôt.

    J'ai trouvé l'origine du problème : une faute de frappe pour la valeur de Database dans le fichier app.config !

    Merci à tous celles et ceux qui ont réfléchi à mon souci
    il n'y a jamais eu qu'un seul chrétien et il est mort sur la croix Friedrich Nietzsche
    L'homme est un apprenti, la douleur est son maitre Alfred de Musset
    C'est avoir tort que d'avoir raison trop tôt Praefectus Praetario Hadrianus

    my best memories ever : 2008 London Circle Line "The Booze Train"

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

Discussions similaires

  1. FireBird et les DataSet de Visual Studio 2008
    Par Alex01 dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 20/01/2009, 16h02
  2. Problem rencontré avec Les DataSet dans Visual Studio 2005?
    Par mehdi_scofield dans le forum ASP.NET
    Réponses: 0
    Dernier message: 14/11/2008, 12h40
  3. dataset typé VISUAL STUDIO 2005
    Par Djclo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 15/10/2008, 12h36
  4. dataset dans visual studio 2005
    Par isadel dans le forum Visual Studio
    Réponses: 2
    Dernier message: 24/09/2007, 18h27
  5. Visual Studio+ dataset + XML
    Par Braillane dans le forum C#
    Réponses: 3
    Dernier message: 10/09/2007, 12h46

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