AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi nach commit ist alles weg
Thema durchsuchen
Ansicht
Themen-Optionen

nach commit ist alles weg

Ein Thema von clock50 · begonnen am 22. Mai 2009 · letzter Beitrag vom 27. Mai 2009
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

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

Re: nach commit ist alles weg

  Alt 24. Mai 2009, 12:02
Eine IP muss ja eindeutig sein. Ein Insert funktioniert deshalb nur, wenn die angegebene ID nicht schon vorhanden ist.
http://www.firebirdsql.org/manual/de...de-basics.html
http://www.firebirdsql.org/pdfmanual...eneratoren.pdf
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#12

Re: nach commit ist alles weg

  Alt 24. Mai 2009, 14:05
also ich hab mal versucht einen TRIGGER eizusetzen (über ein script erstellt) aber ich bekomme einen Fehler: Expected end of statement, encountered EOF
was ist falsch?

SQL-Code:
SET NAMES ISO8859_1;
create database 'D:\Platte-E\Projekte\fire\Daten\daten.fdb
user 'SYSDBA' password 'masterkey
page_size 4096
default character set iso8859_1;

CREATE DOMAIN "TSTR25" AS VARCHAR(25) COLLATE DE_DE;
CREATE DOMAIN "TSTR50" AS VARCHAR(30) COLLATE DE_DE;
CREATE DOMAIN "TMEMO" AS VARCHAR(2000) COLLATE DE_DE;

CREATE TABLE "KUNDEN"
(
  ID    INTEGER NOT NULL,
  anrede   TSTR25,
  vorname    TSTR50,
  name       TSTR50,
  land       TSTR50,
  plz       TSTR25,
  ort       TSTR50,
  strasse    TSTR50,
  tel       TSTR50,
  fax       TSTR50,
  mail       TSTR50,
  knr       TSTR25

);

SET TERM ^ ;

CREATE TRIGGER trgTKUNDEN_BI_V3 for TKUNDEN
active before insert position 0
as
begin
 if ((new.id is null) or (new.id = 0)) then
 begin
  new.id = gen_id( gidKUNDEN, 1 );
 end
end
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: nach commit ist alles weg

  Alt 24. Mai 2009, 14:09
SQL-Code:
SET NAMES ISO8859_1;
create database 'D:\Platte-E\Projekte\fire\Daten\daten.fdb'
user 'SYSDBA' password 'masterkey'
page_size 4096
default character set iso8859_1;

CREATE DOMAIN "TSTR25" AS VARCHAR(25) COLLATE DE_DE;
CREATE DOMAIN "TSTR50" AS VARCHAR(30) COLLATE DE_DE;
CREATE DOMAIN "TMEMO" AS VARCHAR(2000) COLLATE DE_DE;

CREATE TABLE "KUNDEN"
(
  ID INTEGER NOT NULL,
  anrede TSTR25,
  vorname TSTR50,
  name TSTR50,
  land TSTR50,
  plz TSTR25,
  ort TSTR50,
  strasse TSTR50,
  tel TSTR50,
  fax TSTR50,
  mail TSTR50,
  knr TSTR25

);

SET TERM ^ ;

CREATE TRIGGER trgTKUNDEN_BI_V3 for TKUNDEN
active before insert position 0
as
begin
if ((new.id is null) or (new.id = 0)) then
begin
  new.id = gen_id( gidKUNDEN, 1 );
end
end ^

SET TERM ; ^
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#14

Re: nach commit ist alles weg

  Alt 24. Mai 2009, 21:27
Wie muß den jetzt mein IBDataSet.InsertSQL aussehen?
Ich habe jetzt schon Menge hin und her getestet aber mein ID Feld wird nicht automatisch eingefügt.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: nach commit ist alles weg

  Alt 24. Mai 2009, 21:45
ID einfach weglassen, sowohl in der Feldliste, wie auch bein den Values
Markus Kinzler
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#16

Re: nach commit ist alles weg

  Alt 26. Mai 2009, 07:41
Ich weiß nicht was ich falsch mache? Ich habe schon mit DBASE und MySQL gearbeitet sowohl mit Delphi als auch ohne, aber hier weiß ich nicht weiter. Ich weiß nicht wo der (oder die) Fehler liegen. Es kann nicht nur ein Fehler sein. Ich habe noch mal mein Test-Projekt angehängt. Ich hoffe es hat jemand Zeit sich das mal anzusehen.
Angehängte Dateien
Dateityp: zip fire_975.zip (49,9 KB, 7x aufgerufen)
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
clock50

Registriert seit: 9. Nov 2005
Ort: Derenburg
183 Beiträge
 
Delphi 5 Professional
 
#17

Re: nach commit ist alles weg

  Alt 27. Mai 2009, 22:18
Ich hab's: es war die Groß- und Kleinschreibung.
Hat jemand ne Ahnung wie man die zuletzt eingefügte ID bekommt? den LAST_INSERT_ID() geht ja nicht.
Thomas
Man muß nicht alles wissen, man muß nur wissen in welchem Buch es geschrieben steht!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: nach commit ist alles weg

  Alt 27. Mai 2009, 22:34
Zitat:
Hat jemand ne Ahnung wie man die zuletzt eingefügte ID bekommt? den LAST_INSERT_ID() geht ja nicht.
Lass sie dir mit
RETURNING zurückgeben

insert into ... values (...) returning <PK>;
Markus Kinzler
  Mit Zitat antworten Zitat
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.893 Beiträge
 
Delphi 12 Athens
 
#19

Re: nach commit ist alles weg

  Alt 27. Mai 2009, 22:39
Zitat von mkinzler:
Lass sie dir mit
RETURNING zurückgeben

insert into ... values (...) returning <PK>;
Das gibt es erst ab FB 2.1, der TE arbeitet aber afik mit FB1.5.
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: nach commit ist alles weg

  Alt 27. Mai 2009, 22:42
Zitat:
Das gibt es erst ab FB 2.1, der TE arbeitet aber afik mit FB1.5.
Dann bleibt das Update auf FB2
oder statt Trigger die Sequenz clientseitig zu holen.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:12 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