Autor Beitrag
dontello
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 2



BeitragVerfasst: Di 05.04.11 21:45 
Hallo,

wie ist es möglich mit den Zeos Komponenten einen BLOB in die SQLite Datenbank zu speichern.
Mein bisheriger Versuch sah so aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
  str = String;
  sqliteQuery = TZQuery von Zeos


  str := 'INSERT INTO test(id,datei) VALUES (1, :blob)';
  sqliteQuery.SQL.Clear;
  sqliteQuery.SQL.Text := str;
  sqliteQuery.Params.ParamByName('blob').LoadFromFile('C:\test.datei', ftBlob);
  sqliteQuery.ExecSQL;
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Mi 06.04.11 05:32 
hi,

wo ist denn das problem? so wie du es geschrieben hast, wird das funktionieren. der sqlitequery.sql.clear; befehl brauchst du nicht. da du ja den sql befehl sqlitequery.sqql.text zuweist.

gruss
tankard
dontello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 2



BeitragVerfasst: Mi 06.04.11 08:48 
Ich bekomme immer die Fehlermeldung 'SQL Error: Unrecognized Token: "" '
Was ja dann soviel wie 'unbekanntes Zeichen' heißen muss.

Wenn ich mir den SQL String ausgeben lasse, erhalte ich dieses hier:

'INSERT INTO testdata(datei) VALUES (:blob) WHERE id = 1'#$D#$A
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Mi 06.04.11 11:00 
das kann ich jetzt nich nachvollziehen. hab das eben auch in lazarus mit zeos 7.0 ausprobiert und es klappt problemlos.
dontello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 2



BeitragVerfasst: Mi 06.04.11 11:28 
Arbeite hier mit Zeos 7.0 und Delphi 2009.

Komischerweise bekomme ich bei manchen Dateien eine Fehlermeldung: 'Unrecognized Token:" *Viele verwirrende Zeichen* ".
Vielleicht irgendwie ein UniCode Problem?
Alle anderen SQL Anweisungen funktionieren problemlos. Nur der BLOB will nicht in die Datenbank.
Tankard
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Administrator
Beiträge: 217
Erhaltene Danke: 96



BeitragVerfasst: Mi 06.04.11 11:36 
blob ist ja dafuer da, dass man binary data speichern kann. hat nix mit unicode zu tun.
kannst du mir mal so eine datei zukommen lassen.


Zuletzt bearbeitet von Tankard am Do 07.04.11 06:18, insgesamt 1-mal bearbeitet
dontello Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 60
Erhaltene Danke: 2



BeitragVerfasst: Mi 06.04.11 12:52 
Ich habe zum testen eigentlich nur normale .txt Dateien oder Dateien aus dem Delphi Projektordner genommen.

Irgendwie wird mir durch das einfügen über den Parameter halt der SQL String zerschossen. Aus welchen Gründen auch immer.

Kannst du evtl. mal deinen Code hier posten?