Entwickler-Ecke

Datenbanken - Ungültiges BLOB-Handle im Datensatzpuffer!


D. Annies - Di 13.02.07 16:18
Titel: Ungültiges BLOB-Handle im Datensatzpuffer!
Hi, Delpher,

endlich habe ich auch DSL !!!

Problem:

Ich schreibe in ein Memo aus einer DBTabelle den Feldinhalt eines Feldes, das mir als (memo) angezeigt wird (es ist ein Text):


Delphi-Quelltext
1:
memo1.lines.add(QTabelle.fieldbyname('text'));                    


Und ich bekomme die obige Fehlermeldung. Wer hat denn davon Ahnung?

P.S. Es ist (noch) eine DBase-Tabelle , aus der ich lese.

Vielen Dank für Antwort(en), eine richtige genügt...

Detlef A.

Moderiert von user profile iconKlabautermann: Delphi-Tags eingefügt.


Klabautermann - Di 13.02.07 18:54

Hi,

mache es so:


Delphi-Quelltext
1:
memo1.lines.add(QTabelle.fieldbyname('text').AsString);                    


Gruß
Klabautermann


raiguen - Di 13.02.07 19:42

user profile iconKlabautermann hat folgendes geschrieben:
Hi,

mache es so:


Delphi-Quelltext
1:
memo1.lines.add(QTabelle.fieldbyname('text').AsString);                    


Gruß
Klabautermann

Ne,ne, das passt so leider nicht!
aber das hier:

Delphi-Quelltext
1:
2:
   Memo1.Clear;
   Memo1.Lines.Add(QTable.FieldByName('text').Value);


Klabautermann - Di 13.02.07 20:01

Hi,
user profile iconraiguen hat folgendes geschrieben:

Ne,ne, das passt so leider nicht!

Warum nicht? Ob das jetzt zum String (welchen tStrings.Add erwartet) oder zum Variant (welcher wiederum zum String gecastet werden muss) gewandelt wird dürfte doch keinen wesentlichen Unterschied machen? Außer das der Variant langsamer ist.

Gruß
Klabautermann


D. Annies - Di 13.02.07 21:37

Au, *mist*e!

Ich hatte natürlich .asstring und .asvalue gesetzt.

Erstaunlicherweise klappt das mit einer (von der Größe her) kleineren Tabelle ...
Irgendwo habe ich jetzt gelesen, dass ich eine BDE-Einstellung umsetzen müsste, aber das kann es ja wohl nicht sein, oder? [Und wenn ja, wie]

Gruß, Detlef
Danke für weitere Hilfe


D. Annies - Mi 14.02.07 19:48

Hi,

meine sprachliche Entgleisung wurde korrigiert - Danke und scusi.

Gibt es noch eine Idee zu meinem Problem?

Danke, Detlef


raiguen - Do 15.02.07 10:56

@Klabautermann:
Ich muss mich korrigieren: bei D7 kann man tatsächlich für ein BLOB-Feld sowohl .AsString als auch .Value nehmen, wobei interessanterweise in diesem Fall (BLOB-Feld) Value vom Typ String ist ;-)
Egal, was ich nehme, m.E. wird beides in irgendeiner Art gecastet oder irre ich mich???
Aber das braucht ja nicht hier tiefer erörtert zu werden....Sorry für meinen 'Einwand' (ich hatte noch D5 im Hinterkopf und da gings es m.W. nicht mit .AsString...)


Klabautermann - Do 15.02.07 11:36

Hi,
user profile iconraiguen hat folgendes geschrieben:
Egal, was ich nehme, m.E. wird beides in irgendeiner Art gecastet oder irre ich mich???

Stimmt gecastet wird es so oder so irgendwie. Ich ging davon aus das Value einen Variant liefert. Somit währe der Cast für das tStrings.Add BLOB->Variant->String wobei es bei mit .AsString nur Blob->String währe. Aber ich stecke nicht tief genug drin, um mir da wirklich sicher zu sein.

user profile iconraiguen hat folgendes geschrieben:
Aber das braucht ja nicht hier tiefer erörtert zu werden....Sorry für meinen 'Einwand' (ich hatte noch D5 im Hinterkopf und da gings es m.W. nicht mit .AsString...)

Kein Grund sich zu entschuldigen es schadet nie mehrere Wege zum Ziel zu kennen weshalb es gut ist wenn mehrere in einem Thread genannt werden.

Gruß
Klabautermann


D. Annies - Sa 17.02.07 09:19

Hi,

wie kann ich denn jetzt den Fehler beheben? Oder liegt es an der Größe der Tabelle und ist nicht mehr zu wuppen?

Danke, Detlef


D. Annies - Di 27.02.07 22:00

ping ...