Gravar uma foto no BD SQL Server via ADO

08/02/2003

0

Eu tentei varias vezes , mas até agora não consegui. Grato se alguem puder me ajudar. O caso é um seguinte:

O programa é em Delphi e usa o Sql Server 7 c/ ado via store procedure que tem um campo do tipo image e não consigo passar esses parametos para o delphi aceitar!! Como faço isso?
Se alguem tiver alguma dica de algo similar tô aceitando tb!
Grato


Anonymous

Anonymous

Responder

Posts

08/02/2003

Anonymous

Dae...

digamos q no SQL Server temos uma tabela (imagens) com os campos descricao (varchar) e imagem (image)

e temos tbm um StoredProcedure (IncImagem) cujo codigo principal eh:
Insert Into Imagens(Descricao, Imagem) Values(@vDescricao, @vImagem)

no Delphi poreriamos usar um ADOCommand incluindo no CommandText : execute IncImagem :vDescricao, :vImagem

Incluindo uma imagem a partir de um TImage:
var
SM : TMemoryStream;
begin
SM := TMemoryStream.Create;
image1.Picture.Bitmap.SaveToStream(SM);
Adocommand1.Parameters.ParamByName(´vDescricao´).Value := Edit1.text;
AdoCommand1.Parameters.ParamByName(´vImagem´).LoadFromStream(SM, ftBlob);
AdoCommand1.Execute;
SM.Free;
end;

Incluindo uma imagem a partir de uma arquivo:
Adocommand1.Parameters.ParamByName(´vDescricao´).Value := Edit1.text;
AdoCommand1.Parameters.ParamByName(´vImagem´).LoadFromFile(´Pescaria.bmp´, ftBlob);
AdoCommand1.Execute;


Se vc estiver usando um ADOStoredProc o processo eh semelhante. Deve-se informar o ProcedureName (IncImagem;1). Observe que os parametros herdam o prefixo @ da sintaxe do SQLServer:
AdoStoredproc1.Parameters.ParamByName(´@vImagem´).LoadFromStream(SM, ftBlob);
E o metodo de execucao e AdoStoredproc1.ExecProc;

Falow


QmD
qmd@antisocial.com
uin: 15630894


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar