Autor Beitrag
eternity
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Fr 01.08.03 16:06 
Einen Wunderschönen wünsche ich !

Ich habe das Prob., daß die SQL-Anfrage läuft ohne Ende.

Fakt:
Ich habe eine Tablle mit 20 Feldern. Darunter 2 Memo,- und 1 Grafikfeld.
Die Tabellengröße liegt bei über 1300 Datensätzen.
Die Bildfelder sind belegt mit je 410 Kb größe.
Zur Darstellung benutze ich das DBGrid und auch ein DBImage.


Das Problem:
Wenn ich jetzt in der SELECT-Anweisung das Bilderfeld mit angebe und die SQL-Anweisung starte, habe ich den anschein, daß das öffnen der Tabelle keine Ende mehr nimmt.
Nehme ich das Feld der Bilder wieder raus funktioniert es einwandfrei.

Bloß wenn ich das Bilderfeld raus nehme habe ich wieder keinen Zugriff auf das Feld.

Kann mir jemand eine Lösung füe das Prob. geben ?!?!?

Ich verzweifel. :cry:
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Fr 01.08.03 16:38 
Quizfrage: Welche Datenbank?

Viele Grüße,

Matthias

_________________
Ha! Es compiliert! Wir können ausliefern!
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 01.08.03 21:03 
Zeigst Du die Daten irgendwo noch in einem Grid an? Dann liegt wohl da das Problem. Wenn Du dann noch FetchAll irgendwo hättest, dann wäre die Lösung schon gefunden :wink:
Ich würde vorschlagen, Du nimmst 2 Abfragen, eine für die restlichen Abfragen und eine für das Bild, dass Du beim ändern des aktuellen Datensatz über eine direkte SQL-Anweisung mit WHERE-Bedingung herauspickst und im Image anzeigen lässt.
eternity Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 32



BeitragVerfasst: Fr 01.08.03 21:58 
Titel: Hab schon einen anderen Lösungsansatz gefunden
Vielen Dank für eure Bemühung !

Ja, die Tabelle wird in einem Grid angezeigt.
Ich mußte (leider) die Bildfelder aus der Select-Anweisung entfernen, damit die Tabelle auch ordentlich geladen wird. Dies brauch ich bei TTable nicht. Warum auch immer.

Leider ist das Arbeiten mit zwei Querys für mich inakzeptabel, obwohl es mit unter auch eine möglichkeit ist, die ich schon in betracht gezogen habe. Doch leider ist mir das ein wenig zu umständlich, da ich soeben einen anderen weg eingeschlagen bin.
Ich benutze jetzt TTable was mir einen einfacheren weg beschert und punkto geschwindigkeit völlig ausreichend ist.

Leider hat alles so seine Vor,- und nachteile.

Zur frage an *neojones
Ich benutze Paradox.

Noch mal vielen Dank !
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 01.08.03 22:51 
Titel: Re: Hab schon einen anderen Lösungsansatz gefunden
eternity hat folgendes geschrieben:
Ich benutze Paradox.

Damm ist alles klar, denn das läuft über BDE und die macht immer ein FetchAll, d.h. alle Datensätze der SELECT-Anweisung werden erstmal KOMPLETT eingelesen, bei Dir halt schon 500MB Bilder. Hmm, aber die Vorteile eines Queries sind halt nicht von der Hand zu weisen und ein wenig Handarbeit dürfte da schon wahre Wunder wirken.

Ich bin eh so ein Vertreter der Sorte, die lieber mehr zu Fuß macht, außer manchmal einem DBGrid kommmt bei mir kaum eine Datensensitive Komponente zum Einsatz, viel mehr Möglichkeiten, wenn man es von Hand macht und vor allem mehr Kontrolle über die Bugs.