namen des primärschlüssels ausgeben ???

Alles rund um die Programmierung mit Qt
Antworten
davekk
Beiträge: 2
Registriert: 31. Oktober 2007 18:45

namen des primärschlüssels ausgeben ???

Beitrag von davekk »

hallo ihr,

ich programmiere es seit kürzerem mit qt 3 (eine höhere version will mein arbeitgeber noch nicht einsetzten, wegen den versionsunterschieden) und wollte fragen, ob es eine möglichkeit gibt den namen des primärschlüssels eines tables ausfindig zu machen ... ich kenne den primärschlüssel nicht im vorhinein, da der datenbankaufbau auf welchen sich mein programm bezeihen soll unterschiedlich sein kann ...

danke schon mal im voraus für eure hilfe für eure hilfe

p.s. eine sql-query, in der ich den primärschlüssel zurückbekomme würd mir auch helfen ...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Sparsames Unternehmen, daß sogar an der Großschreibung spart...
Bei Qt3 habe ich keine Möglichkeit gefunden, den Primärschlüssel einer Tabelle festzustellen, mal davon abgesehen: Was machst du, wenn die Tabelle keinen hat? Welchen Datenbank-Server ihr verwendet, weist du aber schon, oder?
Außerdem wäre es dringend notwendig, wenn du schon mit SQL arbeiten sollst, dir dafür die Grundlagen anzueignen...
davekk
Beiträge: 2
Registriert: 31. Oktober 2007 18:45

Beitrag von davekk »

naja, hauptsache unkonstruktive gegenfrage gestellt ...
... danke dir upsala für die hilfreiche antwort ... vielleicht solltest du dir die grundlagen der umgangsformen mal aneignen ...

ich greife über odbc auf eine access datenbank zu und alle tables haben einen primäreschlüssel nur der name des primärschlüssels kann abweichen ... von daher nochmal die frage ... gibt es ein möglichkeit den sich den namen des nicht eindeutig bekannten primärschlüssel vielleicht als qstring zurückgeben zu lassen ???
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Beitrag von MichaelS »

Hallo,

QT3/ und QT4 stellen Dir folgende Methode zur Verfügung:

Code: Alles auswählen

QSqlIndex QSqlDatabase::primaryIndex ( const QString & tablename ) const
Damit solltest Du Dein Problem lösen können.

Zumindest in einem Punkt stimme ich upsala aber zu (auch wenn man es vielleicht hätte netter formulieren können):

Gewöhne Dir bitte die penetrante Kleinschreibung ab. Das zeugt nicht gerade von gutem Stil.

Gruß Michael
Antworten