Laden...

Variable Anzahl von Bildern anzeigen

Erstellt von rallepralle vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.291 Views
R
rallepralle Themenstarter:in
142 Beiträge seit 2008
vor 14 Jahren
Variable Anzahl von Bildern anzeigen

Hallo,

ich wollte per Abfrage Bilder anzeigen lassen. Ähnlich wie wenn man eine Datenbankabfrage macht nur dass es hier keine Text, sondern stattdessen Bilder anzeigen soll.

Die Situation schaut folgendermaßen aus:
Die Bilder sind im Ordner ...bin/Debug gespeichert. In der Datenbank gibt es eine Tabelle "TEST" worin der Dateiname in einer Spalte gespeichert ist (es sind nur die Namen der Bilder gespeichert; nicht die Bilder selbst! Z.B. "Bild1.JPG", "Bild2.JPG" etc. Deshalb hat die Spalte den Spaltentyp "Text"). Neben dieser Spalte gibt es noch eine andere, die Beschreibungen zu den Bildern enthält.

Bsp.: Für diese Tabelle "TEST" gelten also diese Spalten:
| ID | Beschreibung | Bild |
| 1 | Clown | Bild1.JPG |
| 2 | Batman | Bild2.JPG |
| 3 | 2Face | Bild3.JPG |

In der TextBox gebe ich ein Stichwort ein. Und anhand der Information in der Beschreibungs-Spalte sollen die Bilder angezeigt werden.

Bsp:
Gebe ich in der TextBox nun "Clown" ein, so soll das Bild "Bild1" anzeigen.

Ich habe schon im Internet gesucht aber nirgends das gefunden, was ich brauche. Ich habe schon was mit DataGridViewImageColumn und DataGridViewImageList gelesen aber keins von diesen Dingen konnte ich für mich nutzen. ich hoffe, dass es viele gibt deren Googlefu besser ist als meins.

Beste Grüße und vielen lieben Dank im Voraus

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo rallepralle,

was genau willst du denn wissen? Wie man die Datenbankabfrage macht? Oder wie man das Bild anzeigt?

herbivore

D
233 Beiträge seit 2008
vor 14 Jahren
<asp:Image ID="imgImage" runat="server" ImageUrl=""></asp:Image>

Button-Click:
imgImage.ImageUrl = get_DB_String("SELECT Bild FROM TEST WHERE Beschreibung='" + txtBild.Text + "'");

Oder was?

1.433 Beiträge seit 2006
vor 14 Jahren

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo schaedld,

Wie kann ich Bilder in eine Datenbank schreiben und wieder auslesen?

naja, das will rallepralle zumindest nicht., denn

es sind nur die Namen der Bilder gespeichert; nicht die Bilder selbst!

herbivore

1.433 Beiträge seit 2006
vor 14 Jahren

Dann müsste er aber irgendwoher den Pfad zum Bild haben, dann könnte er den Images Ordner nach dem Bildnamen von der Datenbank her suchen und dann die ImageUrl so setzen.

Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo schaedld,

genau das hat rallepralle ja 😃

Die Bilder sind im Ordner ...bin/Debug gespeichert.

herbivore

R
rallepralle Themenstarter:in
142 Beiträge seit 2008
vor 14 Jahren

was genau willst du denn wissen? Wie man die Datenbankabfrage macht? Oder wie man das Bild anzeigt?

Die Datenbankabfrage bei einem Bild wird wird wahrscheinlich genauso so sein, wei bei einer "normalen" Datenbank-Abfrage - also mit Text und ohne Bild.

Hier:
SELECT Bild FROM TEST WHERE Beschreibung LIKE '"+ textBox.Text + "';

Mein Problem ist, wie ich die Bilder anzeigen soll. Denn es soll auch so gedacht sein, dass ich mehr als nur ein Bild als Ergebnis erhalte.

Bsp.: Wenn ich in der TextBox nur "a" eingebe, so soll Bild2 und Bild3 angezeigt werden, da das "a" sowohl im "Batman" als auch in "2Face" auftaucht.

PictureBox fällt somit weg. Denn ich weiß nicht im Voraus wieviele Bilder als Ergebnis angezeigt werden. Für jedes Bild eine PictureBox anzulegen fällt auch weg, da es in Wirklichkeit mehr Bilder sind als nur drei.

Meine einzige Hoffnung ist jetzt das DataGridViewImageColumn. Weiß jmd., wie man Bilder, die ich im Debug-Ordner und deren Information in der Tabelle TEST gespeichert habe, mit einer DataGradImageViewImageColumn durch eine Abfrage sichtbar macht?

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo rallepralle,

siehe Listbox für Bilder

herbivore

R
rallepralle Themenstarter:in
142 Beiträge seit 2008
vor 14 Jahren

Hallo,

danke für den Link aber ich sitze z.Z. nicht an meinen Rechner und kannst auf die schnelle nicht ausprobieren, deshab mal die kurze Frage: Meinst du Code, den Programmierhans geschrieben hat odermeinst du deinen Beitrag, wo du auf diese Seite verweist:

http://www.codeproject.com/

Ich habe mir den Code angeschaut und bin immer noch ratlos, wo ich denn die Datenbank im Code von Prgrammierhans unterbringen soll. Also an welcher Stelle wird ein Bild in der Tabelle TEST aufgerufen?

Wie gesagt ich habe z.Z. VS08 nicht zur Hand aber ich kann mich jetzt nicht erinner, dass es ein Element namens ImageListBox gibt. Ansonsten könnte ich mich daran erinnern, denn ich sitze schon ne Weile an diesem Problem. Aber wenns sowas gibt, dann sorry für die Nachfrage.

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo rallepralle,

Meinst du Code, den Programmierhans geschrieben hat odermeinst du deinen Beitrag, wo du auf diese Seite verweist:

gemeint, habe ich den Code, aber im Prinzip kannst du dir das aussuchen. Der ganze Thread beschäftigt sich ja mit dem Thema, wie man zu einer ListBox für Bilder kommt.

Ich habe mir den Code angeschaut und bin immer noch ratlos, wo ich denn die Datenbank im Code von Prgrammierhans unterbringen soll. Also an welcher Stelle wird ein Bild in der Tabelle TEST aufgerufen?

Die Datenbankabfrage gehört natürlich gar nicht in den Code von Programmierhans, jedenfalls nicht in den Code der Klasse ImageListBox. Der ImageListBox soll es ja egal sein, woher die Bilder kommen, die sie anzeigen soll.

Oben hast du geschrieben, dass das mit der Datenbankabfrage nicht das Problem ist. Dann lass es bitte auch aus diesem Thread raus. In diesem Unterforum haben Datenbank(abfrag)en nichts zu suchen.

Wie gesagt ich habe z.Z. VS08 nicht zur Hand aber ich kann mich jetzt nicht erinner, dass es ein Element namens ImageListBox gibt.

Jetzt wird es langsam skurril. Natürlich gibt es ein solches Element nicht. Sonst hätte Programmierhans ein solches ja nicht selbst schreiben müssen.

Da deine Nachfragen für meine Begriffe alle etwas neben der Spur liegen, bringt mich zu der Vermutung, dass hier vielleicht ein Fall von [Hinweis] Wie poste ich richtig? Punkt 1.1.1 vorliegt. Schau mal bitte.

herbivore