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

Bases de données Delphi Discussion :

DbExpress + ClientDataSet


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut DbExpress + ClientDataSet
    Bonjour,

    tout d'abord ma config
    je suis sous win2k et j'ai delphi 7

    j'utilise Oracle 8i avec le driver DbExpress oci.dll

    j'utilise un datamodule avec un sqlconnection connecté à oracle (pas de souci)

    j'ai ensuite un sqlquery dans lequel je met une requete paramétré (appel de PS, requete, ...)

    j'ai aussi un datasetprovider lié au sqlquery et enfin le clientdataset lié au datasetprovider

    je récupére les paramètres du sqlquery en faisant FecthParams sur le clientdataset Jusque là pas de souci.

    J'ouvre ma fiche de recherche je clique sur recherche qui exécute ma requete en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    clientdataset.active := false;
    clientdataset.params.paramvalues ['param1']   := valeurparam;
    clientdataset.active := true;
    La première utilisation passe Ok et j'ai mon résultat dans ma grille

    Par contre le souci vient si je clique de nouveau sur rechercher avec différents paramètres ou non

    Il me dit clientdataset : paramètre param1 non trouvé

    J'ai essayé de fermer la requete avant de mettre à jour les param, j'ai essayé parambyname au lieu de paramvalues
    Rien n'y fait, je n'ai fait.

    Avez-vous une idée? une solution?

    Question subsidiare : quel composant utiliser à la place de DbExpress pour pouvoir accèder à Oracle et plus tard à PostGresql (afin d'éviter un changmeent de composant)

    A+

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 56
    Par défaut
    Essaye au début de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if clientdataset.Active then
      clientdataset.Close;
    clientdataset.CreateDataSet;
    Fais plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    clientdataset.locate(...);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    try
      clientdataset.Filter := '[Champ] = valeur';
      clientdataset.Filtered := True;
    finally
      clientdataset.Filter := '';
      clientdataset.Filtered := False;
    end;
    Excuse moi si j'ai fais des fautes de frappe

  3. #3
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    Salut,

    en ce qui concerne CreateDataSet cela ne me sert pas car ça plante immédiatement. En effet, mon clientdataset est déjà créé dans mon datamodule

    En ce qui concerne le locate ou le filter cela va à l'encontre de ma philosophie car je souhaite utiliser au maixmum les procédures stockées et éviter de rapatrier toute la table afin de réduire le trafic réseau et d'avoir un temps de réponse honorable.

    A+

  4. #4
    Membre expérimenté
    Homme Profil pro
    Architecte de système d’information
    Inscrit en
    Juin 2002
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte de système d’information
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2002
    Messages : 177
    Par défaut
    Je vois que personne ne m'a donné de solution.

    donc je souhaiterais savoir quels sont les autres moyens d'accès à une base Oracle mais aussi PostGreSql

    Alors pas de BDE car abandon, pas ADO car MS?

    Qui y a t il comme autre possibilité?

    Merci

Discussions similaires

  1. RemoteDataModule,DBExpress et ClientDataSet en Delphi
    Par BadRedMane dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/12/2004, 20h21
  2. [MySQL][DbExpress][D7] clientdataset.applyupdates
    Par nanomag dans le forum Bases de données
    Réponses: 2
    Dernier message: 17/06/2004, 16h48
  3. [Kylix] kylix + dbexpress pour oracle!!
    Par RezzA dans le forum EDI
    Réponses: 6
    Dernier message: 14/01/2003, 18h33
  4. [Kylix] dbexpress & postgresql
    Par deniscm dans le forum EDI
    Réponses: 2
    Dernier message: 13/01/2003, 14h47
  5. [Kylix] dbexpress pour mysql4.0.1
    Par chico dans le forum EDI
    Réponses: 2
    Dernier message: 06/06/2002, 09h43

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