Thema: Delphi Dateiahängemit BLOB

Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Dateiahängemit BLOB

  Alt 25. Aug 2005, 18:27
Zitat von DJ-SPM:
... So mach ich es schon die ganze Zeit. .
hihi... ich habe trotzdem mal ein Beispiel

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  last_id: integer;
begin
  last_id := NeuerEintrag(Edit1.Text); // Eintrag in die Haupt-Tabelle
  NeuerAnhang(last_ID, 'c:\test.jpg'); // Eintrag in die Blob-Tabelle
end;

function TForm1.NeuerEintrag(ablubb: string): integer;
var
  query: TZQuery;
begin
  query := TZQuery.Create(self);
  try
    with Query do
    begin
      Connection := ZConnection1;
      Close;
      SQL.Text := 'INSERT INTO haupt_tabelle (blubb) VALUES (:pblubb)';
      ParamByName('pblubb').AsString := Edit1.Text;
      ExecSQL;
      Close;
      SQL.Text := 'SELECT LAST_INSERT_ID()';
      Open;
      Result := Fields[0].AsInteger;
      Close;
    end;
  finally
    query.Free;
  end;
end;

procedure TForm1.NeuerAnhang(aID: integer; filename: string);
var
  fstream: TMemoryStream;
  query: TZQuery;
begin
  fstream := TMemoryStream.Create;
  query := TZQuery.Create(self);
  try
    fstream.LoadFromFile(filename);
    fstream.Position := 0;
    with Query do
    begin
      Connection := ZConnection1;
      Close;
      SQL.Text := 'INSERT INTO blob_tabelle (fk_haupt_tabelle_id,anhang) ' + #10 +
        'VALUES (:pfk_id, :panhang)';
      ParamByName('pfk_id').AsInteger := aID;
      ParamByName('panhang').LoadFromStream(fstream, ftBlob);
      ExecSQL;
    end;
  finally
    query.Free;
    fstream.Free;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat