Bonjour,
il parait qu'avec un ADOQuery, après avoir réalisé un INSERT, on peut récuperer l'ID que l'on vient de générer. Si c'est vrai, comment fait on ?
Merci d'avance
Bonjour,
il parait qu'avec un ADOQuery, après avoir réalisé un INSERT, on peut récuperer l'ID que l'on vient de générer. Si c'est vrai, comment fait on ?
Merci d'avance
Voici la méthode de mon chef:
copy (DateTimeToStr(Now),7,4)+
copy (DateTimeToStr(Now),4,2)+copy (DateTimeToStr(Now),1,2)+copy (DateTimeToStr(Now),12,2)+
copy (DateTimeToStr(Now),15,2)+copy (DateTimeToStr(Now),18,2)
Je lui ai dit que FormatDateTime irait surement mieux
bonjourEnvoyé par Cpt Anderson
Si je tu comprend ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 with Adoquery Do Begin Sql.clear; Sql.add('Insert .......'); Open Sql.clear; Sql.add('select ID....'); Open, End;
Soit tu utilses une requete Identity (elle est différente selon le SGBD)
Soit tu passes par une transaction (Qu'vec certain SGBD)
Le mieux est de passer par les deux en même temps
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
21
22
23
24
25
26
27
28
29
30
31 With AdoConnection1 do begin BeginTrans; // Début de la transaction With AdoQueryInsert do begin // Ici l'insert Try ExecSQL; Except on E:Exception do begin RollBackTrans; // On annule le tout ShowMEssage(E.MEssage); Exit; end; end; end; // with With AdoQueryIndetity do begin Close; SQL.Clear; SQL.Add('Select @Identity as Id from LaTable'); // A vérifier la synthaxe Open; LID=FieldByName('id').asInteger end; // with CommitTrans; // On valide l'ensemble end;
Modérateur Delphi
Le guide du bon forumeur :
- Les règles du forum tu liras
- La FAQ et les tutoriels tu consulteras
- La fonction Recherche tu utiliseras
- Google tu vénèreras
__________
Rayek World : Youtube Facebook
Merci, c'est à peu pres ce que j'ai fait: un SELECT@@IDENTITY juste après mon INSERT.
Merci
Voici la méthode de mon chef:
copy (DateTimeToStr(Now),7,4)+
copy (DateTimeToStr(Now),4,2)+copy (DateTimeToStr(Now),1,2)+copy (DateTimeToStr(Now),12,2)+
copy (DateTimeToStr(Now),15,2)+copy (DateTimeToStr(Now),18,2)
Je lui ai dit que FormatDateTime irait surement mieux
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager