AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Primärschlüssel per BDE bestimmen
Thema durchsuchen
Ansicht
Themen-Optionen

Primärschlüssel per BDE bestimmen

Ein Thema von Foo316 · begonnen am 3. Feb 2006 · letzter Beitrag vom 3. Feb 2006
Antwort Antwort
Foo316

Registriert seit: 3. Feb 2006
2 Beiträge
 
Delphi 5 Enterprise
 
#1

Primärschlüssel per BDE bestimmen

  Alt 3. Feb 2006, 12:15
Datenbank: Firebird • Version: 1.5 • Zugriff über: BDE
Hallo,
ich bestimme mit der unteren Funktion den Primärschlüssel von Tabellen in einer Firebird-Datenbank.

Delphi-Quellcode:
procedure GetPrimaryKey();
begin
   Check(DbiOpenIndexList(FDatabase.Handle,PChar(TableName),nil,hCur));
   try
      while (DbiGetNextRecord(hCur,dbiNoLock,@idx,nil) = DBIERR_NONE) do begin
         if idx.bPrimary then begin
            // mache was mit dem Primärindex
         end;
      end;
   finally
      Check( DbiCloseCursor(hCur) );
   end;
end;

Es funktioniert auch grundsätzlich aber nicht bei allen Tabellen.
Hat jemand einen Tipp woran es liegen könnte?

[edit=alcaeus]Delphi-Tags eingefuegt. Bitte in Zukunft selbst machen. Danke Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat
Foo316

Registriert seit: 3. Feb 2006
2 Beiträge
 
Delphi 5 Enterprise
 
#2

Re: Primärschlüssel per BDE bestimmen

  Alt 3. Feb 2006, 16:09
[edit=alcaeus]Delphi-Tags eingefuegt. Bitte in Zukunft selbst machen. Danke Mfg, alcaeus[/edit][/quote]

Sorry und Danke.

hab selbst was rausgefunden.
Sieht nach einem BDE-Problem aus

Scheinbar liegt es daran, das die BDE die Primärschlüssel daran erkennt, dass der Indexname, den der Primärschlüssel nutzt (nicht der Name des Primärschlüssel), mit RDB$PRIMARY... beginnt.
Dieser ist in der Systemtabelle RDB$RELATION_CONSTRAINTS in der Spalte RDB$INDEX_NAME zu finden.

Bei den Tabellen zu den ich keinen Primärschlüssel bekomme, ist nämlich der Indexname gleich dem Primärschlüsselnamen!

Schade. Muß ich wohl die Systemtabellen bemühen, um den Primärschlüssel zu bestimmen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:52 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