1. #1
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    août 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2006
    Messages : 927
    Points : 1 322
    Points
    1 322

    Par défaut FireBird INSERT RETURNING ID

    Bonjour, je cherche à utiliser ceci dans Delphi :
    INSERT INTO t1 (...) values (...) returning pk;

    PK
    ===========
    32
    sa provient de (fb 2.1) :
    http://www.firebirdfaq.org/faq243/

    Actuellement j'utilise les composants InterBase, j'ai tout essayé avec un TIBQuery c'est impossible. Il y a d'autres moyen je sais pour avoir "pk" mais c'est cette méthode que je voudrais utiliser, quelqu'un la déjà utilisé? Avec quel composants ?

    Merci d'avance pour votre aide.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  2. #2
    Expert éminent
    Avatar de Cl@udius
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    4 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 4 879
    Points : 9 712
    Points
    9 712

    Par défaut

    Salut oui³
    Citation Envoyé par ouiouioui Voir le message
    ..., quelqu'un la déjà utilisé? Avec quel composants ?
    J'utilise cette méthode régulièrement, mais avec les composants UIB. Je suppose qu'avec les IBX le principe reste exactement le même.

    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
    var
      Qry: TUIBQuery;
    begin
      Qry := TUIBQuery.Create(nil);
      try
        with Qry do
        begin
          Transaction := trWrite;
          SQL.Text := 'INSERT INTO MEMBRE(NOM, PRENOM) ' +
            'VALUES(''Dupontel'', ''Albert'') RETURNING ID;';
          Execute;
          ShowMessage(Format('Nouvel ID: %d', [Fields.AsInt64[0]]));
          Close(etmCommit);
        end;
      finally
        Qry.Free;
      end;
    @+ Claudius.

  3. #3
    Expert éminent
    Avatar de Cl@udius
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    4 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 4 879
    Points : 9 712
    Points
    9 712

    Par défaut

    Re,

    Je viens d'effectuer un test avec les composants IBX, et malheureusement la clause RETURNING introduite avec FB2.0 n'est pas supportée.

    Ce qui confirme qu'il faut de plus en plus réserver l'utilisation des IBX pour Interbase et uniquement Interbase.

    @+ Claudius

  4. #4
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    août 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2006
    Messages : 927
    Points : 1 322
    Points
    1 322

    Par défaut

    oui, je vais devoir changer de composants d'accès aux données sa ne me réjouit pas

    Merci en tout cas UIB à l'air bien je vais tenter.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  5. #5
    Expert éminent
    Avatar de Cl@udius
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    4 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 4 879
    Points : 9 712
    Points
    9 712

    Par défaut

    Re,
    Citation Envoyé par ouiouioui Voir le message
    Merci en tout cas UIB à l'air bien je vais tenter.
    Pour Firebird je ne cache pas ma préférence pour les composants UIB, très bien conçus et performants.
    Par contre le seul composant que tu peux relier à un DataSource est le TUIBDataSet. Mais celui-ci est en lecture-seule.

    @+

  6. #6
    Membre averti
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : août 2005
    Messages : 260
    Points : 401
    Points
    401
    Billets dans le blog
    1

    Par défaut GZFBdataset

    bonjour

    on peux compléter les UIB avec le composant GZFBdataset pour gérer les écritures.

    André

  7. #7
    Expert éminent
    Avatar de Cl@udius
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2006
    Messages
    4 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : février 2006
    Messages : 4 879
    Points : 9 712
    Points
    9 712

    Par défaut

    Salut
    Il existe effectivement des composants tiers: le GrizzlyPack (TGz*), ou encore l'Alex's FBDataSet disponible chez Progdigy.

    Il faut noté cependant que, sauf erreur, les compos Grizzly ne sont pas compatibles unicode (D2009 et +).

    @+

  8. #8
    Membre averti
    Avatar de alheuredudejeuner
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2005
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : août 2005
    Messages : 260
    Points : 401
    Points
    401
    Billets dans le blog
    1

    Par défaut oups

    bonjour

    le GZFBDatastet est compatible D2009 unicode, la branche Unicode du svn

    cordialement

    André

  9. #9
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    août 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2006
    Messages : 927
    Points : 1 322
    Points
    1 322

    Par défaut

    Merci pour ces précisions, j'utilise souvent des TIBTable avec TDataSource.
    Si j'utilise juste TUIBQuery pour mes requêtes ayant besoin d'un RETURNING sa suffira peut-être.
    Il existe 3 sortes de gens: ceux qui savent compter et ceux qui ne savent pas.

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    mai 2007
    Messages
    794
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : mai 2007
    Messages : 794
    Points : 251
    Points
    251

    Par défaut test avec TIBSQL

    Bonjour,

    Pour en revenir au sujet de départ:

    Je tombe sur ce post par hazard, et je découvre que la fonction Returning ne fonctionne pas avec TIBquery.

    Je l'ai implémentée la semaine dernière avec le compo TIBsql et j'ai pas vu de problème ?

    Vous m'avez mis le doute, je refait des essais semaine prochaine.

    Est ce que quelqu'un la déja essayé avec TIBsql ?

    Cordialement

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

Discussions similaires

  1. Procedure stocke et insert returning
    Par xian21 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/08/2009, 14h31
  2. Insert returning - ça existe tu
    Par tommey dans le forum Développement
    Réponses: 4
    Dernier message: 26/02/2009, 17h26
  3. insert returning pk
    Par jose.ignacio.agata dans le forum SQL
    Réponses: 1
    Dernier message: 25/02/2008, 22h20
  4. Insertion à grande échelle dans une BD Firebird 1.5
    Par rprom1 dans le forum Débuter
    Réponses: 4
    Dernier message: 11/02/2006, 17h14
  5. Insert d'un champ caractères spéciaux avec firebird et php
    Par PHILOSOPHE dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 14/05/2005, 11h18

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