QSqlRecord: field() mit table-angabe ("table.column&quo

Alles rund um die Programmierung mit Qt
Antworten
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

QSqlRecord: field() mit table-angabe ("table.column&quo

Beitrag von -=Freaky=- »

schoenen guten tag.

wenn ich ein einfaches select-statement per QSqlQuery ausfuehre, das nur aus einer einzigen tabelle daten holt ("SELECT * FROM MyTable"), und danach via QSqlRecord::field (query.record().field()) die ergebnisfelder kriegen moechte, funktioniert das nur, wenn ich lediglich die spaltenbezeichnung angebe (query.record().field("Column")).

ich moechte aber aus verschiedenen gruenden gerne auch mit "Table.Column"-notation darauf zugreifen koennen. gibt es da einen weg, dass QSqlRecord auch damit umgehen kann?
soweit ich weiss, koennen spaltenbezeichner auch "." enthalten, deshalb ist ein einfaches suchen nach dem "." und abschneiden, bevor record().field() aufgerufen wird, wohl keine gute idee.

ich bedanke mich im voraus fuer alle antworten.

gruesse
julian
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was macht das für einen Sinn, wenn man nur eine Tabelle hat?

Liefert der Datenbank-Treiber überhaupt mehr mit?

Und eigentlich gibt es für solche Fälle den 'Alias'.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag von -=Freaky=- »

es geht darum dass in einer anwendung sql-statements z.t. automatisch generiert werden und mittels vorgefertigter bezeichner (const char*, automatisch generierter code), anstatt mit strings, angaben gemacht (nur damit im programmcode moeglichs nicht direkt mit strings gearbeitet wird, um nicht zuviele laufzeitfehler zu provozieren).
und wenn man dann z.b. DBFields::MyTable::Col1 (="MyTable.Col1") verwendet, sollte das in jedem fall funktionieren, egal ob man in dem entspr. sql-statement mit einem oder mit n tables hantiert. sonst muss man immer noch irgendwie unterscheiden, was ein bisschen unhandlich waere.

hoffe das war einigermassen verstaendlich.

gruesse
julian
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Qt kann nur das weitergeben, was auch der Datenbanktreiber liefert. Liefert der überhaupt mehr Informationen?
Antworten