Bild aus Datenbank auslesen und in Dialog einfügen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

StefanOO
*
Beiträge: 13
Registriert: So, 22.04.2007 13:23
Wohnort: Heidelberg / Leipzig

Bild aus Datenbank auslesen und in Dialog einfügen

Beitrag von StefanOO »

Guten Nachmittag,

ich brauche einen kleinen Hinweis.

Es liegt bereits eine Datenbank (Base) vor. Diese möchte ich jetzt durch Makros automatisieren. Deshalb habe ich ein externes Dokument genommen und mit Makros gefüllt.

Allerdings bekomme ich es nicht hin in der Datenbank gespeicherte Bilder in ein Grafikobjekt (ImageControl) zu übertragen/anzuzeigen.

Ein bisschen Code:

verb=getverbindung ' Erstellt die Verbindung zur Datenbank

statement = verb.createStatement()

personenabfrage = statement.executeQuery("Select ""Name"", ""Foto"" from ""Personendaten""")

' Liest testweise Name (= String) und Foto (= Varbinary) in das Resultset aus.

button = dialog2.getControl("test")

' dialog2 ist der Dialog, Es gibt ein Imagecontrol Feld mit dem schönen Namen "test"

Jetzt habe ich ein wenig in der Literatur in der APi und im Internet gestöbert. Aber leider nicht die funktionierende Variante gefunden...

Meiner Meinung nach sollte es mit

button.Graphics = personenabfrage.getBytes(2)

funktionieren.

Als Meldung erscheint aber bei der Ausführung die Meldung:

Leseproblem: Eigenschaft ist schreibgeschützt.

Bisher habe ich aber nirgends eine Einstellung gefunden, um diesen Schreibschutz aufzuheben.

Kennt jemand den Befehl zum aufheben des Schreibschutz?
Ist "button.Graphics" überhaupt die richtige Zuweisung.

Alle anderen Daten und auch alle anderen Abfragen funktionieren problemlos und werden auch angezeigt.

Und ich möchte die Daten wirklich gerne in der Datenbank speichern, da ich in einer späteren (MySQL) Datenbank ebenfalls Bilder ablegen möchte, die ich mittels OO sozusagen weltweit abrufen kann.


Besten Dank im Voraus.

PS. Obwohl ich in die Datenbank nur testweise einmal ein Bild geladen hatte (und danach wieder löschte) ist das gute Stück immer noch riesengroß. Dazu gab es im Forum nur sehr alte Anmerkungen, gibt es hier einen neuen Stand in Richtung Komprimierung?
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

Hey StefanOO,

ohne dein Problem im Deteil ausprobiert zu haben oder exakt deine Problematik zu analysieren, nur soviel:
Bisher habe ich aber nirgends eine Einstellung gefunden, um diesen Schreibschutz aufzuheben.
Häufig kannst du solche Sachen nur dem Model zuweisen, nicht dem Control direkt. Es müsste also heissen:

Code: Alles auswählen

button.getModel().Graphics = personenabfrage.getBytes(2)
Allerdings: Die Eigenschaft "Graphics" kommt mir merkwürdig vor, müsste ich aber überprüfen.

Viele Grüße
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten