Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Bases de données
Bases de données Vos questions concernant les bases de données (BDE, Access, SqlServer...)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 19/10/2010, 14h19   #1
ouiouioui
Membre Expert
 
Avatar de ouiouioui
 
Homme Alexandre
Administrateur systèmes et réseaux
Inscription : août 2006
Messages : 882
Détails du profil
Informations personnelles :
Nom : Homme Alexandre
Âge : 31
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 : 882
Points : 1 197
Points : 1 197
Envoyer un message via MSN à ouiouioui
Par défaut FireBird INSERT RETURNING ID

Bonjour, je cherche à utiliser ceci dans Delphi :
Citation:
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.
ouiouioui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 14h38   #2
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 964
Points : 9 964
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 :
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.
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 15h50   #3
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 964
Points : 9 964
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
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 17h56   #4
ouiouioui
Membre Expert
 
Avatar de ouiouioui
 
Homme Alexandre
Administrateur systèmes et réseaux
Inscription : août 2006
Messages : 882
Détails du profil
Informations personnelles :
Nom : Homme Alexandre
Âge : 31
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 : 882
Points : 1 197
Points : 1 197
Envoyer un message via MSN à ouiouioui
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.
ouiouioui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 18h06   #5
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 964
Points : 9 964
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.

@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 18h34   #6
alheuredudejeuner
Membre confirmé
 
Homme André MANIN
Développeur informatique
Inscription : août 2005
Messages : 184
Détails du profil
Informations personnelles :
Nom : Homme André MANIN
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : août 2005
Messages : 184
Points : 248
Points : 248
Envoyer un message via MSN à alheuredudejeuner
Par défaut GZFBdataset

bonjour

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

André
alheuredudejeuner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2010, 18h54   #7
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 964
Points : 9 964
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 +).

@+
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2010, 06h41   #8
alheuredudejeuner
Membre confirmé
 
Homme André MANIN
Développeur informatique
Inscription : août 2005
Messages : 184
Détails du profil
Informations personnelles :
Nom : Homme André MANIN
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : août 2005
Messages : 184
Points : 248
Points : 248
Envoyer un message via MSN à alheuredudejeuner
Par défaut oups

bonjour

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

cordialement

André
alheuredudejeuner est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/10/2010, 10h42   #9
ouiouioui
Membre Expert
 
Avatar de ouiouioui
 
Homme Alexandre
Administrateur systèmes et réseaux
Inscription : août 2006
Messages : 882
Détails du profil
Informations personnelles :
Nom : Homme Alexandre
Âge : 31
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 : 882
Points : 1 197
Points : 1 197
Envoyer un message via MSN à ouiouioui
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.
ouiouioui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2012, 09h01   #10
looping
Membre actif
 
Inscription : mai 2007
Messages : 732
Détails du profil
Informations personnelles :
Âge : 48

Informations forums :
Inscription : mai 2007
Messages : 732
Points : 175
Points : 175
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
looping est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h13.


 
 
 
 
Partenaires

Hébergement Web