AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Datensatz ID herausfinden
Thema durchsuchen
Ansicht
Themen-Optionen

Datensatz ID herausfinden

Ein Thema von alleinherrscher · begonnen am 7. Jan 2010 · letzter Beitrag vom 9. Jan 2010
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 11:18
[edit]

Okay klar, verstanden. Allerdings wird der Parameter nicht von Firebird übergeben (mein ParamCount ist Null), jemand eine Idee, warum???

[/edit]
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 11:31
Hallo,

warum siehst du nicht einfach in dem mitgelieferten Bsp nach ?

examples\src\FB20InsertReturning


Heiko
Heiko
  Mit Zitat antworten Zitat
taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
526 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 12:08
Zitat von hoika:
Hallo,

#RSF#
nein, die Id wird auf dem Server beim Imsert erzeugt
und normalerweise nicht zurückgegeben.

Unter Paradox klappte das allerdings wirklich so,
aber unter einem SQL-Server normalerweise nicht.
Heiko
Bei MS SqlServer nach dem INSERT:
SELECT @@IDENTITY FELDNAME gibt die ID zurück.
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 13:54
Hallo,

ja FB macht das über das returning.

Das S in SQL heisst halt leider nicht Standard.


Heiko
Heiko
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 14:37
Zitat:
Das S in SQL heisst halt leider nicht Standard.
Jedes DBMS ist halt anderst strukturiert
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 15:24
Hallo,

schön gesagt.



Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#17

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 19:45
Ich hab nu ein Query mit folgendem Code im SQLs Feld:

SQL-Code:
INSERT INTO USER(
    VORNAME,
    NACHNAME,
    ALIAS,
    PASSWORT
)
VALUES(
    :VORNAME,
    :NACHNAME,
    :ALIAS,
    :PASSWORT
)
RETURNING USER_ID

und führe in Delphi folgendes aus:

Delphi-Quellcode:
  Query1.Close;
  Query1.ParamByName('ALIAS').AsString:=edit1.Text;
  Query1.ParamByName('PASSWORT').AsString:=edit2.Text;
  Query1.Prepare;
  Query1.ExecQuery;
  Transaction.CommitRetaining;
Wenn ich mir Query1.ParamNames(i) für alle i< ParamCount ausgeben lasse kommt raus:

VORNAME
NACHNAME
ALIAS
PASSWORT

Eine USER_ID ist aber nicht vorhanden?!
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 19:48
Welche Version der Komponente setzt du ein? Es scheint das diese Version das returning nicht kennt.
Btw heisst der Parameter auch anders Ret_xxx o.ä, deshalb besser über den Index gehen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#19

Re: Datensatz ID herausfinden

  Alt 8. Jan 2010, 19:51
Zitat von mkinzler:
Welche Version der Komponente setzt du ein? Es scheint das diese Version das returning nicht kennt.
Btw heisst der Parameter auch anders Ret_xxx o.ä, deshalb besser über den Index gehen
Benutze FIBPlus 6.9.6

Wenn der Parameter anders heißt, müsste es doch ne Fehlermeldung von der Datenbank geben, oder?

//edit ich seh gerade, dass der Interpretor hier im Forum das Wort "USER" in der SQL sprache blau hinterlegt. Also in Wirklichkeit heißt die Datenbank nicht USER sondern BENUTZER.
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: Datensatz ID herausfinden

  Alt 9. Jan 2010, 07:12
Hallo,

gerade wollte ich wieder meckern,
dass du das Returning-Bsp nicht ansiehst.
Das ist wohl aber nur noch ne "Beta".

Die Returning ist ja kein Parameter,
probier mal FieldByName / Fields.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz