AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Primärschlüssel eine Tabelle einer AccessDB ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Primärschlüssel eine Tabelle einer AccessDB ermitteln

Ein Thema von Solid01 · begonnen am 5. Nov 2003 · letzter Beitrag vom 5. Nov 2003
Antwort Antwort
Solid01

Registriert seit: 5. Nov 2003
23 Beiträge
 
#1

Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 10:16
Hallo zusammen,
hoffe ihr könnt mir helfen, hab nämlich nach Stundenlanger Suche im I-Net immer noch keine Lösung gefunden. Mein Problem ist folgendes:
Ich möchte mit Delphi heraus bekommen welchen bzw. welche Primärschlüssel eine Tabelle einer AccessDatenbank hat. Hab es bereits mit der Methode GetIndexNames der Klasse TADODataset ausprobiert, aber da gibt er mir einfach keinen Wert zurück. Obwohl sich die Hilfe zu der Methode eigentlich genau nach dem anhört was ich suche. Woran kann das liegen, oder wie kann ich das noch anders heraus bekommen?
Danke schon mal im Voraus für jegliche Denkanstöße. Is wichtig!

Gruß Solid01.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 10:27
Hallo Solid01,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Zu dem Thema hatten wir kürzlich diesen Thread, den du dir einmal anschauen solltest.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 10:28
Hai Solid01,

herzlich willkommen in der Delphi-PRAXIS.

Ich habe es eben mal mit einer TADOTable getestet und es ging ohne Probleme:

Delphi-Quellcode:
 
 ADOTable1.GetIndexNames(Memo1.Lines);
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Solid01

Registriert seit: 5. Nov 2003
23 Beiträge
 
#4

Re: Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 11:19
Hi,
erst mal danke für die Antworten und die nette Begrüßung.
Hab es jetzt auch mit der ADOTable probiert und er gibt mir zumindest etwas zurück.
Allerdings nicht den Primärschlüssel, sondern irgend welche anderen Felder. In diesen Feldern
kommt immer ID mit drin vor, wobei aber nicht jedes Feld angezeigt wird bei dem es so ist. Is
richtig komisch. Bei einigen Tabellen gibt er mir auch irgend welche Hexa-Decimalen Kombinationen
zurück, also wahrscheinlich irgend ne Adresse. Was kann ich denn überhaupt falsch machen, dass es bei
dir funzt und bei mir nicht? Hab an den Komponenten eigentlich nicht viel rumgeschraubt. Steht fast
alles auf den Defaulteinstellungen. Muß ich bei der Connection vielleicht noch irgend etwas beachten?
Kannst du mir vielleicht mal das Proggie, bei dem es funzt schicken bzw. hoch laden?

Gruß Solid01
  Mit Zitat antworten Zitat
Solid01

Registriert seit: 5. Nov 2003
23 Beiträge
 
#5

Re: Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 13:57
Hi,
das Problem wird jetzt ein wenig klarer. Es ist so, dass einem GetIndexNames nicht den Namen des Primärschlüssels, sondern die Namen der Indizes (Wie der Name ja auch eigentlich schon sagt) zurück gibt. Unter Access kann man, wenn in der entwurfsansicht einer tabelle auf ansicht -> indizes klickt, sich diese anzeigen lassen. Was ich aber brauche sind ja nicht die Namen der Indizes sondern der Name des Feldes, das mit dem Index "Primärschlüssel" verknüpft ist.
Also ist somit, getIndexNames die falsche Methode. Gibt es da noch eine andere Methode, bzw. andere Vorgehensweise, wie ich dann an das Feld komm, das als Primärschlüssel dient?

Gruß Solid01
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6

Re: Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 14:13
Hallo Solid1,

hast du meinen Link oben einmal angeklickt?

Dort findest du:

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


MrSpock
  Mit Zitat antworten Zitat
Solid01

Registriert seit: 5. Nov 2003
23 Beiträge
 
#7

Re: Primärschlüssel eine Tabelle einer AccessDB ermitteln

  Alt 5. Nov 2003, 14:42
Hi,
danke, dass du mich noch mal auf deinen Link aufmerksam gemacht hast. Die unterste Lösung hat gefunzt.
Danke für die Hilfe!

Gruß Solid01
  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 07:33 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