请问各位,怎么把一些小的图片存到SQL SERVER数据库里,或许有其他的方式存取更方便,希望能得到更多的这方面的信息,谢了!
解决方案 »
- 送分!当家人休闲(桑拿)会所管理系统发布
- delphi的while循环问题
- vc的dll在delphi中如何调用?
- 如何保存WebBrowser控件中浏览的网页的HTML代码为TX文件
- 如何保证能彻底释放Mediaplayer?
- 哎!开发ADO连接ORACL的客户端程序,非得装ORACL巨大的客户端软件,谁有办法打包时包括ORACL所需的文件,且最少
- 用ADO控件连接ACCESS数据库,设置2个日期型字段,一个是短日期,另一个是长日期,为什么用dbgrid控件显示的时候都为短日期的记录了?
- 新手上路(100分)
- 设置那个属性可以禁止对treeview控件的节点字符串的编辑?
- *****同步事件(TEvent)和Socket的问题???
- 控制IE打开的页面:比如更改某个输入框的内容、模拟某个按钮的点击事件。
- 基本的ADO連接問題﹗
//压缩存储函数
procedure Compress(var CompressedStream: TMemoryStream);
var
SourceStream: TCompressionStream;
DestStream: TMemoryStream;
Count: Integer;
Begin
Count := CompressedStream.Size;
DestStream := TMemoryStream.Create;
SourceStream:=TCompressionStream.Create(clMax, DestStream);
Try
CompressedStream.SaveToStream(SourceStream);
SourceStream.Free;
CompressedStream.Clear;
CompressedStream.WriteBuffer(Count, SizeOf(Count));
CompressedStream.CopyFrom(DestStream, 0);
finally
DestStream.Free;
end;
end;//写入数据
var
MemStream: TMemoryStream;
begin
if OpenPictureDialog1.Execute then
begin
if not FileExists(OpenPictureDialog1.FileName) then
begin
Application.MessageBox('您所添加的文件不存在!', '提示', MB_ICONINFORMATION);
Exit;
end;
for I := 0 to OpenPictureDialog1.Files.Count - 1 do //添加文件
begin
MemStream := TMemoryStream.Create; //创建流
try
MemStream.LoadFromFile(OpenPictureDialog1.Files[I]); //将文件读到流中去
MemStream.Seek(0, soFromBeginning);
Compress(MemStream); //压缩文件
MemStream.Seek(0, soFromBeginning);
with ADOQuery do
begin
Append;
TBlobField(FieldByName('fieldname')).LoadFromStream(MemStream);
ADOQuery2.Post;
end;
finally
MemStream.Free;
end;
end;
end;
end;
edit;
Adotable1.FieldByName('myimage').Assign(image1.picture);
post;
--对就给我点分我的分没有了
procedure UnCompress(const CompressedStream: TMemoryStream);
var
SourceStream: TDecompressionStream;
DestStream: TMemoryStream;
Buffer: PChar;
Count: integer;
Begin
CompressedStream.Seek(0,soFromBeginning);
CompressedStream.ReadBuffer(Count, SizeOf(Count));
GetMem(Buffer, Count);
DestStream := TMemoryStream.Create;
SourceStream := TDecompressionStream.Create(CompressedStream);
Try
SourceStream.ReadBuffer(Buffer^, Count);
DestStream.WriteBuffer(Buffer^, Count);
DestStream.Position := 0;
CompressedStream.LoadFromStream(DestStream);
finally
FreeMem(Buffer);
DestStream.Free;
end;
end;