Preciso Gravar e Abrir arquivos gravados no Banco de Dados..
Preciso gravar arquivos de qualquer extensão no meu Banco de Dados e poder abri-los pela minha aplicação. Alguem pode me ajudar!!!
Eu tentei o seguinte código só que não deu certo:
//para incluir
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Query1.DatabaseName := ´TempDB´;
Query1.SQL.Text := ´Insert into Arquivo (Nome,Arquivo) values (:nome,:arquivo)´;
Query1.ParamByName(´Nome´).AsString := ExtractFileName(Edit1.Text);
Query1.ParamByName(´Arquivo´).LoadFromFile(Edit1.Text,ftBlob);
Query1.ExecSQL;
ShowMessage(´Operação Concluída !!´);
end;
//consultar
procedure TForm1.BitBtn2Click(Sender: TObject);
var
f: TMemoryStream;
fout: TFileStream;
s: String;
begin
Query1.DatabaseName := ´TempDB´;
Query1.SQL.Text := ´Select Nome, Arquivo from Arquivo´;
Query1.Open;
s := Query1.FieldByName(´Arquivo´).AsString;
Query1.Close;
f := TMemoryStream.Create;
try
f.Write(s, Length(s));
fout := TFileStream.Create(´c:\temp\´+Query1.FieldByName(´Nome´).AsString, fmCreate);
try
fout.CopyFrom(f, 0);
finally
fout.Free;
end;
finally
f.Free;
end;
end;
Grato.
Eu tentei o seguinte código só que não deu certo:
//para incluir
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Query1.DatabaseName := ´TempDB´;
Query1.SQL.Text := ´Insert into Arquivo (Nome,Arquivo) values (:nome,:arquivo)´;
Query1.ParamByName(´Nome´).AsString := ExtractFileName(Edit1.Text);
Query1.ParamByName(´Arquivo´).LoadFromFile(Edit1.Text,ftBlob);
Query1.ExecSQL;
ShowMessage(´Operação Concluída !!´);
end;
//consultar
procedure TForm1.BitBtn2Click(Sender: TObject);
var
f: TMemoryStream;
fout: TFileStream;
s: String;
begin
Query1.DatabaseName := ´TempDB´;
Query1.SQL.Text := ´Select Nome, Arquivo from Arquivo´;
Query1.Open;
s := Query1.FieldByName(´Arquivo´).AsString;
Query1.Close;
f := TMemoryStream.Create;
try
f.Write(s, Length(s));
fout := TFileStream.Create(´c:\temp\´+Query1.FieldByName(´Nome´).AsString, fmCreate);
try
fout.CopyFrom(f, 0);
finally
fout.Free;
end;
finally
f.Free;
end;
end;
Grato.
Albertoparaizo
Curtidas 0