![]() |
Datenbank: MySQL • Version: 4.0 • Zugriff über: dbExpress
Blobs aus SQL Anfrage ausschliessen
Hallo,
ich habe folgendes Problem: Ich spreche eine SQL Datenbank in einer Multiuserumgebung an. Die Tabellen bestehen aus gemischten Formaten (BLOB, INT, etc). Da ich auch in die DB schreibe und über die dbExpress Komponenten zugreife habe ich in Delphi folgenden Aufbau: SQLConnection -> SQL Table -> DataSetProvider -> ClientDataSet -> DataSource -> DBGrid Im Grid soll das Feld der Tabelle mit dem Typ BLOB nicht angezeigt werden (allerdings brauche ich das Blob Feld später im Programm). Wie teile ich Delphi mit, dass es im Select Statement fürs DBGrid das BLOB Feld nicht berücksichtigt? Danke im Voraus!, midrag |
Re: Blobs aus SQL Anfrage ausschliessen
Hallo midrag,
setze doch mal die Eigenschaft Visible des entsprechenden Feldes auf FALSE. Grüße vom marabu |
Re: Blobs aus SQL Anfrage ausschliessen
Zitat:
Ich denke man muss das select tatsächlich ohne BlobFeld ausführen. Die Blobs bekommt man dann übereine separate Query. Gruss wo |
Re: Blobs aus SQL Anfrage ausschliessen
Hallo WoGe,
Zitat:
marabu |
Re: Blobs aus SQL Anfrage ausschliessen
Durch einen Doppelklick auf DBGrid öffnet sich ein Fenster Columns bearbeiten. Dort kannst Du festlegen, welche Spalten im DBGrid angezeigt werden sollen.
|
Re: Blobs aus SQL Anfrage ausschliessen
Hallo marabu.
Zitat:
Ich ärgere mich nur mir genau so einem Problem rum. Ich will das Blobfeld eigentlich garnicht übertragen, brauche es aber. Es stellt genaugenommen den Grund für die gesammte Tabelle dar. Da Blobs gross sind, habe ich vermutet :-D das midrag deswegen das Blob nicht im DBGrid haben will. mfg wo |
Re: Blobs aus SQL Anfrage ausschliessen
Zitat:
Das Blobfeld wird aber nur relativ selten gebraucht, will es deshalb nicht ständig mit übertragen. eine Möglichkeit wäre es die entsprechende Spalte aus der SQL Table zu löschen und einen zweiten Pfad mit einer weiteren SQLTable (+dsp, cds, ds)zu erzeugen und dort nur die Blobfelder einzutragen. Finde das aber ziemlich unelegant. Es stellt sich dann auch die Frage wieso man nicht gleich die Blobfelder in einer weiteren Tabelle speichert? |
Re: Blobs aus SQL Anfrage ausschliessen
Hai midrage,
die BLOB-Felder in einer eigenen Tabelle zu speichern wäre natürlich eine Möglichkeit. Man müsste jetzt mal prüfen ob alleine durch das vorhandensein eines BLOB in einer Tabelle diese schon größer/langsammer wird. Ansonsten kannst Du ja einfach mir:
SQL-Code:
nur die Felder holen die Du auch benötigst.
SELECT pk_feld, feld1, feld2 ,feld3 FROM tabelle
Wenn dann doch der Inhalt des Blob-Feldes benötigt wird machst Du einfach mit einem zweiten Query
SQL-Code:
SELECT blob_feld FROM tabelle WHERE pk_feld = pk_feld.des_aktiven_DS_der_anderen_query
|
Re: Blobs aus SQL Anfrage ausschliessen
Moin,
Zitat:
Zitat:
SQL-Code:
aufrufen kann. Der Vorteil dabei, der Benutzer muss nichts über die Originaltabelle wissen.
Select * form View
Das Blobfeld wird dann, wie von Sharky gesagt, separat übertragen. mfg wo |
Re: Blobs aus SQL Anfrage ausschliessen
ja, auf MySQL Ebene würde das so funktionieren.
Ich arbeite aber der SQLTable Komponente und kann die Select Anweisung nicht manuell anpassen. Um das Blobfeld aus der Anfrage zu entfernen müsste ich es aus Fields (SQLTable) löschen. Das klappt auch, leider kann ich das Blob Feld dann überhaupt nicht benutzen (kann zur runtime das Field auch nicht wieder einfügen :-( ). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 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