Fórum Inserir BLOB por query #283087
27/05/2005
0
Fiz uma busca aqui nas msgs postadas sobre campos do tipo BLOB, mas não entendi muito bem.
Eu tenho um cadastro de funcionários onde salvo uma imagem para cada registro inserido no banco. Estou usando o Delphi 5 e o Oracle 9i.
TABELA: COD DO TIPO VARCHAR2, NOME DO TIPO VARCHAR2, FOTO DO TIPO BLOB.
A inserção dos dados faço utilizando o componente QUERY da seguinte forma:
with qryAux do
begin
// Monta inclusão
Close;
SQL.Clear;
SQL.Add(´insert into FUNCIONARIO
( COD, NOME, FOTO ) ´);
SQL.Add(´VALUES (´ );
SQL.Add( #39 + edtCod.Text + 39 + ´, ´ + 39 +
edtNOME.Text + 39 + ´, + DbASSINATURA.Picture + )´);
// Atribui valores aos parâmetros
// Executa inclusão
try
// Inicia a transação
DMSav.DBSav.StartTransaction;
ExecSQL;
Como devo passar o campo BLOB dentro dessa expressão da query? Estou usando um DBImage no form p/carregar a imagem.
Estou passando: DbASSINATURA.Picture e está dando erro na hora de executar a inclusão.
Obrigada.
Barbara.michele
Curtir tópico
+ 0Posts
10/06/2005
Barbara.michele
Gostei + 0
26/08/2005
Barbara.michele
Obrigada.
Gostei + 0
27/08/2005
Kapak
var MS:TMemoryStream; begin MS := TMemoryStream.Create; Image.Picture.Graphic.SaveToStream(MS); QryAux.ParamByName(´Foto´).LoadFromStream(MS, ftBlob); MS.free; end;
Gostei + 0
27/08/2005
Barbara.michele
Tenho um componente TQuery e uso o código abaixo para inserir na tabela:
TempSQL := ´Insert into TABELA (nome, endereco, foto) ´ +
´values (¬S, ¬S, ?)´;
SQLStr := Format(TempSQL, [#39 + nome.Text + 39, 39 + endereco.Text + 39, ?????]);
1. O que devo colocar no lugar do ? em values (¬S, ¬S, ?) ?
2. Como passarei por parâmetro se utilizo o código acima para inserir? Substituo o ????? pelo que?
Valeu.
Gostei + 0
28/08/2005
Kapak
var MS:TMemoryStream; begin MS := TMemoryStream.Create; QryAux.SQL.Clear; QryAux.SQL.Add(´Insert into TABELA (nome, endereco, foto) ´ + ´values (:P0,:P1,:P2)´); QryAux.ParamByName(´P0´).asString := nome.Text; QryAux.ParamByName(´P1´).asString := endereco.Text; Image.Picture.Graphic.SaveToStream(MS); QryAux.ParamByName(´P2´).LoadFromStream(MS, ftBlob); MS.free; QryAux.ExecSQL; end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)