![]() |
Datenbank: Interbase • Version: XE3 • Zugriff über: Delphi
selektieren von blob- und varchar-feldern
Guten Tag Delphianer,
das Selektieren von BLOB- und Varcharfeldern in einer gemeinsamen Abfrage will nicht so wie ich es möchte. Hier meine Selection:
SQL-Code:
Die BLOB-Felder in der Abfrage sind:
select
PROTOKOLLE.DATUM, PROTOKOLLE.BAUVORHABEN, PROTOKOLLE.ANWBAULEITUNG, PROTOKOLLE.ANWBAUHERR, PROTOKOLLE.ANWFIRMEN, BILDER.BILDNAME, BILDER.BILD from BAUTGBPROTOKOLLE protokolle join BAUTGBPROTBILDER bilder on PROTOKOLLE.BAUTGBPROTOKOLLID = BILDER.BAUTGBPROTOKOLLID where PROTOKOLLE.BAUTGBPROTOKOLLID = :pProtokollID Bauvorhaben und Bild Als Fehlermeldung wird ausgegeben: Field "BAUVORHABEN" not found. SQL Code: 41 IB Error Number: 0 ---------------------- Nehme ich die Blobfelder aus der Abfrage wird alles wie gewünscht ausgegeben. Wenn ich "select * from bautgbprotokolle" selektiere werden alle Felder ohne Beanstandung ausgegeben und ich kann auch auf die BLOB-Felder zugreifen. Wie muss ich die Abfrage gestalten, damit die Blobfelder mit ausgegeben werden? Vielen Dank für die Hilfe im Voraus. HPB |
AW: selektieren von blob- und varchar-feldern
Eigentlich sollte das so funktionieren. Hast du die Abfrage mal in einem AdminTool oder mit anderen Komponenten getestet?
|
AW: selektieren von blob- und varchar-feldern
Zitat:
vielen Dank für die Antwort. Ich habe den SQL-Manager von EMS mit dem ich die Datenbanken verwalte und Abfragen teste. Und eben in diesem Tool wird die Fehlermeldung erzeugt. Mit Gruß HPB |
AW: selektieren von blob- und varchar-feldern
An der Groß- und Kleinschreibung liegt es nicht?
SQL-Code:
protokolle ... PROTOKOLLE
select
PROTOKOLLE.DATUM, from BAUTGBPROTOKOLLE as protokolle Muß denn immer die Tabelle angegeben werden?
SQL-Code:
Wenn die Feldnamen eindeutig sind, dann sollte man das auch weglassen können ... vielleicht geht es ja dann.
select
PROTOKOLLE.DATUM, BAUVORHABEN, ANWBAULEITUNG, ANWBAUHERR, ANWFIRMEN, BILDNAME, BILD from BAUTGBPROTOKOLLE as protokolle join BAUTGBPROTBILDER as bilder on PROTOKOLLE.BAUTGBPROTOKOLLID = BILDER.BAUTGBPROTOKOLLID where PROTOKOLLE.BAUTGBPROTOKOLLID = :pProtokollID Wass passiert bei
SQL-Code:
?
SELECT bautgbprotokolle.* FROM bautgbprotokolle
|
AW: selektieren von blob- und varchar-feldern
Zitat:
|
AW: selektieren von blob- und varchar-feldern
Wir haben hier noch an fast allen Tabellenfeldern so komische Prefixe, da ist das fast nie ein Problem. :angel2:
Und ich dacht mir halt, weil BAUVORHABEN nicht gefunden wird, aber protokolle.BAUVORHABEN ja vorhanden sein sollte. :stupid: |
AW: selektieren von blob- und varchar-feldern
Guten Tag himutsu,
Zitat:
SQL-Code:
[/CODE]
select
PROTOKOLLE.DATUM, BAUVORHABEN, ANWBAULEITUNG, ANWBAUHERR, ANWFIRMEN, BILDNAME, BILD from BAUTGBPROTOKOLLE as protokolle join BAUTGBPROTBILDER as bilder on PROTOKOLLE.BAUTGBPROTOKOLLID = BILDER.BAUTGBPROTOKOLLID where PROTOKOLLE.BAUTGBPROTOKOLLID = :pProtokollID Diese Selectabfrage führ auch nicht zum Ziel. Es wird die gleiche Fehlermeldung "Bauvorhaben not found usw." ausgegeben. Alle angegebenen Tabellenfelder sind vorhanden und wurden auch korrekt geschrieben. Gruß HPB |
AW: selektieren von blob- und varchar-feldern
Versuch es mal mit kürzeren Aliasen:
SQL-Code:
select
p.DATUM, p.BAUVORHABEN, p.ANWBAULEITUNG, p.ANWBAUHERR, p.ANWFIRMEN, b.BILDNAME, b.BILD from BAUTGBPROTOKOLLE p join BAUTGBPROTBILDER b on b.BAUTGBPROTOKOLLID = p.BAUTGBPROTOKOLLID where p.BAUTGBPROTOKOLLID = :pProtokollID; |
AW: selektieren von blob- und varchar-feldern
Aber nicht 2 Mal denselben Alias ;)
|
AW: selektieren von blob- und varchar-feldern
Zitat:
|
AW: selektieren von blob- und varchar-feldern
Zitat:
Mit den kurzen Aliasen klappt es auch. Schönes, sonniges Wochenende an allen Helfern. HPB |
AW: selektieren von blob- und varchar-feldern
Unter
![]() gibts einen Eintrag max_select_alias_name Evtl. spielt der ja hier eine Rolle |
AW: selektieren von blob- und varchar-feldern
Zitat:
Ich werde in Zukunft mit kurzen Aliasen arbeiten, dann bin ich auf der sicheren Seite. Gruß HPB |
AW: selektieren von blob- und varchar-feldern
Ich finde die Abfragen mit kurzen Aliasen auch lesbarer
|
AW: selektieren von blob- und varchar-feldern
Zitat:
Code:
Etwas aussagekräftiger dürften die Aliase schon sein.
from Table1 t1 join Table2 t2 ...
join Table3 t3 join Table4 t4 join Table5 t5 join Table6 t6 where t1.id>77 and t2.wert1=45 and (t3.feld2=t1.feld99 or (t4.fld2=t5.feeld)) and not exists(select * from Tabelle77 tb77 where tb77=t2.ttt) Gruß K-H |
AW: selektieren von blob- und varchar-feldern
Wir verwenden konsistente Abkürzungen als aliase. 'Customer' ist immer 'cu', 'Invoices' immer 'iv' etc.
Man gewöhnt sich sehr schnell dran. PS: Man muss ja keine Aliase à la 't1', 't2' etc. verwenden (außer bei einem self join) |
AW: selektieren von blob- und varchar-feldern
Damit kann ich leben
Gruß K-H |
AW: selektieren von blob- und varchar-feldern
Zitat:
Code:
Tabellennamen haben eine kleine Maximallänge, aber als Alias "kann" man etwas gaaaaaanz Langes verwenden. :lol:
max_table_alias_name=255 # table alias name length
max_table_name=32 # table name length |
AW: selektieren von blob- und varchar-feldern
Zitat:
Ich würde hier nicht davon ausgehen das jede Alias-Angabe 255 Zeichen lang sein darf. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz