AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken ADO Blobfield Was mach ich falsch?
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Blobfield Was mach ich falsch?

Ein Thema von WS1976 · begonnen am 7. Apr 2007 · letzter Beitrag vom 7. Apr 2007
Antwort Antwort
WS1976
(Gast)

n/a Beiträge
 
#1

ADO Blobfield Was mach ich falsch?

  Alt 7. Apr 2007, 11:28
Hallo,
hab ein Stück Code geschrieben um Icons in eine Acces 2003 Datenbank zu schreiben. (ADOconnection, ADOtable. mytable ist ADOtable)
Sieht alles OK aus kommt aber nie in Access an, bzw wenn ich auslesen will, wird immer das Ergebnis 0 Bytes zurückgegeben.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  blobF : TBlobField;
  bs : TStream;
  f:file of Timg;
  numread,numwritten:integer;
  data:array[1..1000] of char;
begin
   assignfile(f,'1315.ico');
   reset(f);
     BlockRead(f, data, filesize(f), NumRead);
   closefile(f);
   mytable.Active:=true;
   myTable.Insert;
   myTable.FieldByName('name').AsString:='1315_a.ico';
   blobF := myTable.FieldByName('Picture') as TBlobField;
   bs := myTable.CreateBlobStream(blobF, bmWrite);
   numwritten:=bs.Write(data,NumRead);
   myTable.Post;
end;
kann mir irgendjemand auf die Sprünge helfen?
Danke im Vorraus
  Mit Zitat antworten Zitat
WS1976
(Gast)

n/a Beiträge
 
#2

Re: ADO Blobfield Was mach ich falsch?

  Alt 7. Apr 2007, 11:52
Hallo Problem gelöst,

zum schreiben benutze ich diese procedure:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  blobF : TBlobField;
begin
   mytable.Active:=true;
   myTable.Insert;
   myTable.FieldByName('name').AsString:='1315_a.ico';
   blobF := myTable.FieldByName('Picture') as TBlobField;
   blobf.LoadFromFile('1315.ico');
   myTable.Post;
end;
zum lesen benutze ich diese procedure:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
  blobF : TBlobField;
begin
   mytable.Active:=true;
   myTable.first;
   fname:=myTable.FieldByName('name').AsString;
   blobF := mytable.FieldByName('Picture') as TBlobField;
   blobf.SaveToFile(fname);
end;
Das ist naturlich nur ein Beispiel mit festem Dateinamen für das Icon
und es wird auch nur der erste Record ausgelesen.
Das Icon wird von der Platte geholt und unter anderem Dateinamen, auf die Platte gespeichert.

Ich hab mich leider von einem Beitrag (Eines Typs mit fundiertem Halbwissen in die Irre führen lasse.)

Ich werde mich demnächst an einem DB Tutorial (für Dummies wie mich) versuchen.

Viele Grüsse
Vielen Dank
Angehängte Dateien
Dateityp: zip imageblob_959.zip (329,6 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
7. Apr 2007, 20:30
Dieses Thema wurde von "Daniel" von "Programmieren allgemein" nach "Datenbanken" verschoben.
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:46 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz