Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TADOTable den Primary Key des aktuellen Recordsets finden (https://www.delphipraxis.net/9730-tadotable-den-primary-key-des-aktuellen-recordsets-finden.html)

Tyrael Y. 2. Okt 2003 16:04


TADOTable den Primary Key des aktuellen Recordsets finden
 
Ist es irgendwie möglich den PrimaryKey des aktuellen RecordSets zu finden ?

MrSpock 2. Okt 2003 21:21

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
Hallo Tyrael,

manche Datenbanken benutzen den Primary Index, wenn du als Indexname einen leeren String übergibst. Dann kannst du die Felder über IndexFieldCount und IndexFieldNames in Erfahrung bringen:

Delphi-Quellcode:
MyADOTable.IndexName := '';
for i := 0 to MyAdoTable.IndexFieldCount-1 do
  myListBox.Add('Feld '+IntToStr(i+1)+': '+MyAdoTable.IndexFieldNames[i]);

Tyrael Y. 6. Okt 2003 10:34

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
Danke schön,

werde es mal sofort testen.

Tyrael Y. 23. Okt 2003 09:11

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
Hi zusammen,

bin mal wieder an meinem Dtaenbankprojekt.

Die oben beschriebene Methode hat bei meiner Datenbank nicht geklappt.
Fehlermeldung "Current Provider does not support the necassary interface for Index functionality"


Hat jemand noch ne andere Idee wie ich an mein Primary Key rankomme.


Grüße Tyrael

Tyrael Y. 23. Okt 2003 10:36

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
also...
mit eine bissel rumprobieren bin ich jetzt soweit gekommen, daß ich schon mal
ermitteln kann das ich nen Primary Key habe

Code:
      with lTable.IndexDefs do
      begin
        Update;
        for i := 0 to Count - 1 do
          begin
          with Items[i] do
          begin
           if ixPrimary in Options then
             TestMemo.Lines.Add(DisplayName);
          end;
        end;
      end;

ich möchte gerne den Feldnamen bzw. die Feldnamen der PrimaryKeys haben

weiss einer Rat ?


Grüße Tyrael

Tyrael Y. 23. Okt 2003 11:04

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
..eigentlich habt ihrs nicht verdient
weil mir keiner ne Hilfe gepostet hat aber so gehts


Code:
     with lTable.IndexDefs do
      begin
        Update;
        for i := 0 to Count - 1 do
          begin
          with Items[i] do
          begin
           if ixPrimary in Options then
             TestMemo.Lines.Add(Fields);
          end;
        end;
      end;

.. das trennen der PKs sollte ja kein Problem sein...


bis bald Tyrael.


THREAD CLOSED

Solid01 6. Nov 2003 07:38

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
Hi,
danke für die Lösung, nur bei mir funktioniert das leider nur, wenn ein einziger Primary Key vorhanden ist. Sobald es mehrere sind kommt beim Ausführen der Update-Methode die Fehlermeldung "Eine Komponente mit der Bezeichnung PrimaryKey existiert bereits".
Was kann man da machen, bzw. warum stört ihn das überhaupt?
Danke schon mal im Voraus.

Gruß Solid01

Solid01 6. Nov 2003 12:03

Re: TADOTable den Primary Key des aktuellen Recordsets finde
 
Gibt es vieleicht auch eine Alternative zur Update-Methode?

Gruß Solid01


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:37 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