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

C++Builder Discussion :

PostgresDAC avec C++ builder


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2012
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Par d�faut PostgresDAC avec C++ builder
    Bonjour,
    Je commence le d�veloppement avec C++ Builder 6 d'un logiciel connect� � une base Postgres. Je compte utiliser PostgresDAC V2.8.2 de microolap mais lors d'un premier essai avec un simple SELECT je n'ai que 25 enregistrements alors que la table en compte 150. Il s'agit pour l'instant de la version d'essai de PostgresDAC mais d'apr�s mes informations elle poss�de les m�mes fonctionnalit�s que la version d�clar�e. Pouvez-vous me venir en aide.
    Merci d�avance.
    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
     
    void __fastcall TForm1::Essaiselect1Click(TObject *Sender)
    {	
     
    	PSQLDatabase1->Connected = true;
     
            ANSINomTable = "station_01";
            ANSIReq = "SELECT * FROM \"" + ANSINomTable + "\"";
            Memo1->Lines->Add(ANSIReq);
     
            PSQLQuery1->Close();
            PSQLQuery1->SQL->Clear();
            PSQLQuery1->SQL->Add(ANSIReq);
            PSQLQuery1->ExecSQL();
            PSQLQuery1->Open();
     
            Memo1->Lines->Add(IntToStr(PSQLQuery1->RecordCount) + " enregistrements.");
     
            PSQLDatabase1->Connected = false;
    }

  2. #2
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Citation Envoy� par Erik80 Voir le message
    Bonjour,
    Je commence le d�veloppement avec C++ Builder 6
    Bonjour,
    Tu commences ?
    Tu te rends compte que C++Builder 6 a plus de 10 ans !
    Il existe maintenant C++Builder 16 plus connu sous le nom de C++Builder XE2 !

    Tes composants PostgresDAC sont r�cents, rien ne garanti que dans 2 ou 3 ans, microolap fasse l'effort de maintenir des composants avec une telle diff�rence de version !

    Dans d'autres lib, il existe, les options comme PackedRecord ou autres propri�t�s similaires comme AutoFetchRecord ou AsyncRecord ...
    Tu dois avoir dans PostgresDAC surement la m�me chose dans l'objet Connexion et l'objet Query !

    EDIT, juste en 15 seconde via google, j'ai trouv� ceci TPSQLQuery - Limit Query Rows


    C'est des options permettant de r�duire le flux et am�liorer les performance SQL
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2012
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Par d�faut
    J'ai toujours le m�me probl�me avec Builder XE (je me modernise...) que je viens d'installer et PostgresDAC. J'ai fait des recherches sur le net et je n'ai pas trouv� de solution. Il n'y a pas, d'apr�s la doc en ligne de PostgresDAC, de fonction ou propri�t� telle que PackedRecord, AutoFetchRecord ou AsyncRecord. Juste un :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    PSQLQuery1->FetchAll();
    sans effet.

    En l'absence de solution je vais, peut-�tre , me r�signer � changer de composant pour l'acc�s � Postgres.

  4. #4
    Expert �minent
    Avatar de ShaiLeTroll
    Homme Profil pro
    D�veloppeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 089
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 44
    Localisation : France, Seine Saint Denis (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur C++\Delphi
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 14 089
    Par d�faut
    Citation Envoy� par Erik80 Voir le message
    Il n'y a pas, d'apr�s la doc en ligne de PostgresDAC, de fonction ou propri�t� telle que PackedRecord, AutoFetchRecord ou AsyncRecord
    le plus proche serait TPSQLDataset.BlockReadSize
    Que donne TPSQLQuery.RowsAffected ? 0 ? 25 ? 150?

    Si Pro, Ent ... Utilise ADO
    TADOQuery, suffit juste de bien cr�er la ConnectionString du TADOConnection

    Si Starter ... euh ...


    Je ne connais pas les droits en PostGreSQL (j'ai juste maintenu des SQL durant un d�veloppement PHP MySQL qui devait aussi tourner en PG)

    Est-ce que le droit SELECT est valable pour l'ensemble de la Table (comme bcp de SGDB) ?
    Il n'ont pas pouss� le vice � g�rer des droits par ligne ?

    FecthAll, oui cela peut correspondre, en th�orie, cela doit forcer la r�cup�ration compl�te des donn�es !
    Ce qui peut signifier que par d�faut, ce n'est pas le cas !


    Sinon RecordCount n'est pas forc�ment tr�s fiaible !
    Boucle avec NEXT et compte !
    Possible qu'au fur et � mesure RecordCount augmente !
    Teste avec un TDBGrid TDataSource connect� sur le PSQLQuery1
    Aide via F1 - FAQ - Guide du d�veloppeur Delphi devant un probl�me - Pensez-y !
    Attention Troll M�chant !
    "Quand un homme a faim, mieux vaut lui apprendre � p�cher que de lui donner un poisson" Confucius
    Mieux vaut se taire et para�tre idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la m�diocrit� !

    L'exp�rience, c'est le nom que chacun donne � ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2012
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Par d�faut
    L'interrogation de TPSQLQuery->RowsAffected donne 0.
    J'ai aussi fait une boucle avec NEXT qui m'a donn� 25 et un RecordCount toujours � 25. Le test avec un TDBGrid TDataSource connect� sur le PSQLQuery1 me donne aussi 25 lignes.

    J'ai cr�� les tables simplement � l'aide de requ�te. Je ne suis pas sp�cialiste des droits avec postgres mais je n'ai pas cr�e de restriction � l�acc�s par SELECT sur un nombre de lignes qui serrait limit� � 25 (je vais v�rifier quand m�me..).

    Je vais tester l'acc�s par ADO.

  6. #6
    Membre � l'essai
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Juillet 2012
    Messages
    5
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5
    Par d�faut
    Bonjour,
    J'ai finalement install� psqlODBC version 32 bits (je suis sous Windows 7 - 64 avec postgreSQL9.1 version 32 bits). J'ai cr�� le lien ODBC en lan�ant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    C:\Windows\SysWOW64>odbcad32
    en ligne de commande.
    Ensuite avec un composant TQuery li� � l'alias ODBC de la base et un TDataSource li� au TQuery, j'ai acc�s � toutes mes donn�es via une requ�te dans TQuery.
    Je n'ai toujours pas compris pourquoi je n'y arrivais pas avec posgresDAC.
    Merci de ton aide.

Discussions similaires

  1. Utiliser DirectX 9 avec C++Builder
    Par Olivier Constans dans le forum DirectX
    R�ponses: 2
    Dernier message: 27/06/2005, 11h30
  2. wxWidgets avec C++ Builder
    Par Laurent S dans le forum C++Builder
    R�ponses: 8
    Dernier message: 15/06/2005, 11h14
  3. Fonts avec c++ Builder
    Par Arnaud-h dans le forum C++Builder
    R�ponses: 4
    Dernier message: 19/03/2004, 11h04
  4. LoadLibrary avec C++ Builder 6 sous Windows 2000
    Par tgempp dans le forum C++Builder
    R�ponses: 15
    Dernier message: 13/11/2003, 19h19
  5. R�ponses: 1
    Dernier message: 27/05/2002, 01h44

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