Junior99 0 Denunciar post Postado Abril 11, 2007 Ola pessoal. A minha pergunta pode ser muito ridicula para alguns, mas estou passando um bocado para tentar fazer funcionar a gravacao e a leitura de um campo DBImage para um campo no SQL Server 2000. O campo esta definido como Image com tamanho 16. Defini um DBImage apontando para o referido campo na tabela, fiz o tratamento das acoes (Incluir, Alterar, Excluir) no registro. Quando o usuario clica em Alterar ou Incluir um novo registro, tenho um campo para realizar a carga da Imagem, onde no onclick esta assim: procedure TCadFilial.btnCarregarImagemClick(Sender: TObject); begin if OpenPictureDialog1.execute then DMCadastros.TabFiliais.Edit; DBImage1.Picture.LoadFromFile( OpenPictureDialog1.FileName ); end; Carrega a imagem, clico no Botao Salvar, mas quando vejo no banco, o campo esta nulo. Alguem poderia me ajudar. Agradeco a ajuda. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Junior99 0 Denunciar post Postado Abril 12, 2007 Resolvido. Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Abril 12, 2007 Junior, você poderia postar aqui como fez para resolver??? Afinal a sua dúvida pode ser a futura duvida de algum outro colega... Flw ae!!! Abraço! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Junior99 0 Denunciar post Postado Abril 12, 2007 Mas claro colega. Segue as duas procedures que usei: procedure LoadImage(Field: TBlobField; ComponentImage: TImage);procedure SaveImage(Field: TBlobField; ComponentImage: TImage; FileName: String);procedure SaveImage;var Stream: TADOBlobStream; InTipo:Byte;begin Try If FileName <> '' Then ComponentImage.Picture.LoadFromFile(FileName); If Assigned(ComponentImage.Picture.Graphic) Then Begin Stream:= TADOBlobStream.Create(Field, bmWrite); If ComponentImage.Picture.Graphic.ClassType = TJPegImage Then InTipo:= 0; Try Stream.Write(InTipo, SizeOf(InTipo)); ComponentImage.Picture.Graphic.SaveToStream(Stream); Finally Stream.Free; End; End; Except End;end;procedure LoadImage;var Stream: TADOBlobStream; InTipo: Byte;begin If Not Field.IsNull Then Begin Stream:= TADOBlobStream.Create(Field, bmRead); Try Stream.Read(InTipo, SizeOf(InTipo)); If Assigned(ComponentImage.Picture.Graphic) Then ComponentImage.Picture.Graphic.Free; Case InTipo Of 0: ComponentImage.Picture.Graphic:= TJPegImage.Create; End; ComponentImage.Picture.Graphic.LoadFromStream(Stream); Finally Stream.Free; End; End Else Begin ComponentImage.Picture.Graphic:= nil; ComponentImage.Refresh; End;end; Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Abril 13, 2007 Opa, legal... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Valeu aew Junior!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Junior99 0 Denunciar post Postado Abril 13, 2007 Salve Hugo.Uma dica, joga esse exemplo no Laboratorio de Scripts, assim quando alguem precisar nao precisa fazer uma busa completa pelo Forum.flw Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Abril 13, 2007 Movido para Scripts!!! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites