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 :

Problème avec TibDataset


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut Problème avec TibDataset
    bonjour
    je suis en train de convertir une appli avec tables paradox en firebird ( en delphi)
    j'ai un probleme de mise a jour avec le tibdataset

    je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tibdataser.active:=false;
    tibdataset..ModifySQL.Text:='update gestion set paye=1 where lib=:OLD_LIB and ref=:OLD_REF and dat=:OLD_DAT';
    tibdataset.active:=true;
    ca me met pas paye à 1

    impossible de savoir pourquoi

    si quelqu'u a une idee

    merci d'avance

  2. #2
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    quel version de ferberd? sauf V1.5 est compatible IB qu'on peut utilisé avec composant IB, pour FB2 et sup utilise plutot UIB
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    c'est la version 2, je connais pas UIB, qu'est ce que c'est d'autres composants ?

  4. #4
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    exacte: voir ce lien et ce lien
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    merci pour les infos, mais

    avec uibdataset, pas mieux, meme pire, ya pas de modify ou update (ou alors, j'ai pas vu

    en suivant le forum j'ai installe fbdataset, mais j'ai des probs avec le version delphi2007

  6. #6
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    exacte, mais tu peut utlisé des requétes pour remédier ou telecharge ce composant
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    j'ai essayé, ca deconne avec delphi 2007,

    - JvUIBD7R, j'ai mis JvUIBD10R
    - SynEdit_R7 j'ai mis synedit_d2006
    - avec une variable dateoffset,j'ai rajouté une variable globale et ca compile
    mais j'ai une erreur dans les dates de 41 ans

  8. #8
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    la vérité j'ai pas encore commancé à travaillé avec FB
    tu as lu help.html avec les source de UIB2:
    Compiler Options
    First of all you have to set some compiler options depending which type of application you are writing and which database you are using.
    Edit the "JvUIB.inc" file in the source directory with a text editor and uncomment compiler options you need.

    Database.
    Borland Interbase
    Interbase 6.0x, you don't need to set anything, you can work with any database version.
    Interbase 6.5, {$DEFINE IB65}
    Interbase 7, {$DEFINE IB7}
    Filrebird
    Firebird 1.02, {$DEFINE FB102}
    Firebird 1.03, {$DEFINE FB103}
    Firebird 1.5, {$DEFINE FB15}
    Firebird 2, {$DEFINE FB20}
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  9. #9
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    Citation Envoyé par jopab Voir le message
    bonjour
    je suis en train de convertir une appli avec tables paradox en firebird ( en delphi)
    j'ai un probleme de mise a jour avec le tibdataset

    je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tibdataser.active:=false;
    tibdataset..ModifySQL.Text:='update gestion set paye=1 where lib=:OLD_LIB and ref=:OLD_REF and dat=:OLD_DAT';
    tibdataset.active:=true;
    ca me met pas paye à 1

    impossible de savoir pourquoi

    si quelqu'u a une idee

    merci d'avance
    j'ai comme un doute, alors je préfère l'éclaircir avant tout. tu sais que faire tibdataset.active := true; n'exécute pas la requête ModifySQL non ?

  10. #10
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    ben alors comment executer l'update ?

  11. #11
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    si tu tiens à utiliser ton ibdataset tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ...
    ibdataset.Edit;
    ibdataset.FieldByName('paye').AsInteger := 1;
    ibdataset.Post;
    ...
    ou alors avec un TIBQuery
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ...
    ibquery.SQL.Text := 'update gestion set paye=1 where lib=:OLD_LIB and ref=:OLD_REF and dat=:OLD_DAT';
    ibquery.Prepare;
    ibquery.ParamByName('old_lib').AsXXX := Valeur_lib;
    ibquery.ParamByName('old_ref').AsXXX := Valeur_ref;
    ibquery.ParamByName('old_old_dat').AsXXX := Valeur_dat;
    ibquery.ExecSQL;
    ...
    avec un TIBSQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...
    ibsql.SQL.Text := 'update gestion set paye=1 where lib=:OLD_LIB and ref=:OLD_REF and dat=:OLD_DAT';
    ibsql.ParamByName('old_lib').AsXXX := Valeur_lib;
    ibsql.ParamByName('old_ref').AsXXX := Valeur_ref;
    ibsql.ParamByName('old_old_dat').AsXXX := Valeur_dat;
    ibsql.ExecQuery;
    ...
    pour plus de renseignements.

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    ben, je savais pas qu'on pouait utiliser le fieldbyname, je croyais que tibdataset etait en lecture seule dans tous les cas

    quelle est l ameilleure solution sur les 3 proposees?
    et eventuellement la plus rapide

    j'ai une appli qui est tres lente en reseau du fait de l'utilisation d'un tibtable, que je pensais remplacer par un tibdataset, avec les select, ca embousera moins que des filtres ( a mon avis, mais je me trompe peut etre) puisque je prendrais que ce que j'ai besoin

    merci de vos reponses

  13. #13
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par jopab Voir le message
    quelle est l ameilleure solution sur les 3 proposees?
    et eventuellement la plus rapide
    Je préconise le TIBSQL, car c'est celui qui a une charge système minimum.
    Car il est unidirectionnel, et ne met pas en place d'interface pour les contrôles orientés données contrairement aux autres.

    @+ Claudius

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    je vais tester ca, merci

  15. #15
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    j'ai modifié pour l'instant mon dataset et ca marche pour l'exemple que j'ai donné au debut du sujet, mais si je fais plusieurs modifications dans le meme enregistrement, ca marche pas, c'est normal ?

  16. #16
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 771
    Points
    2 771
    Par défaut
    par hazar tu oublie pas de faire un commite?
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  17. #17
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut
    Citation Envoyé par jopab Voir le message
    bonjour
    je suis en train de convertir une appli avec tables paradox en firebird ( en delphi)
    j'ai un probleme de mise a jour avec le tibdataset

    je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tibdataser.active:=false;
    tibdataset..ModifySQL.Text:='update gestion set paye=1 where lib=:OLD_LIB and ref=:OLD_REF and dat=:OLD_DAT';
    tibdataset.active:=true;
    ca me met pas paye à 1

    impossible de savoir pourquoi

    si quelqu'u a une idee

    merci d'avance
    Citation Envoyé par jopab Voir le message
    j'ai modifié pour l'instant mon dataset et ca marche pour l'exemple que j'ai donné au debut du sujet, mais si je fais plusieurs modifications dans le meme enregistrement, ca marche pas, c'est normal ?
    quand tu parles de plusieurs modifications il s'agit de modifications de plusieurs champs ou alors de modifications d'un seul champ plusieurs fois ? quoi qu'il en soit si tu utilises la requête de mise à jour de ton premier exemple, c'est normal qu'elle ne mette pas à jour d'autres champs que le champs paye qui aura systématiquement la valeur 1. c'est comme ça qu'a été écrite la requête
    fais nous voir avec du code comment tu procède maintenant.

Discussions similaires

  1. Problème avec TIBDataSet et InsertSQL ?
    Par MaTHieU_ dans le forum Bases de données
    Réponses: 2
    Dernier message: 07/01/2007, 16h48
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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