在程序中压缩sql server2000的数据库备份文件的代码
在程序中压缩sql server2000的数据库备份文件的代码
发布时间:2016-12-29 来源:查字典编辑
摘要:怎样压缩sqlserver2000的数据库备份文件,像rar一样?小弟有一7m的sqlserver2000数据库备份文件,在程序中怎样压缩啊...

怎样压缩sqlserver2000的数据库备份文件,像rar一样?小弟有一7m的sqlserver2000

数据库备份文件,在程序中怎样压缩啊?

复制代码 代码如下:

procedureTForm1.Button2Click(Sender:TObject);

var

SHExecInfo:SHELLEXECUTEINFO;

begin

SHExecInfo.cbSize:=sizeof(SHELLEXECUTEINFO);

SHExecInfo.fMask:=SEE_MASK_NOCLOSEPROCESS;

SHExecInfo.Wnd:=Handle;

SHExecInfo.lpVerb:=nil;

SHExecInfo.lpFile:='WinRAR.exe';

SHExecInfo.lpParameters:='ae:qwqw.rare:qwqw';

SHExecInfo.lpDirectory:=nil;

SHExecInfo.nShow:=SW_SHOW;

SHExecInfo.hInstApp:=Handle;

ShellExecuteEx(@SHExecInfo);

WaitForSingleObject(SHExecInfo.hProcess,INFINITE);

CloseHandle(SHExecInfo.hProcess);

ShellExecute(application.MainForm.Handle,'open','winrar.exe',PChar('ae:zqzq.rare:zqzq'),'',SW_show);

ShowMessage('压缩完毕!');}

这是一段压缩图片的代码,压缩文件原理相同,只需稍做改动即可。

复制代码 代码如下:

var

mss:TMemoryStream;

zip:TDeCompressionStream;

zip1:TCompressionStream;

fs:TFileStream;

fBuf:Array[0..16383]ofByte;

flen:Integer;

//从数据库中取出图片

//...写出SQL语句以取得有图片的记录,此处从略

mss:=TMemoryStream.Create;

fs:=TFileStream.Create('filename.jpg',fmCreateorfmOpenWrite);

try

TBlobField(Que.FieldByName('pic')).SaveToStream(mss);

zip:=TDeCompressionStream.Create(fs);

try

flen:=zip.Read(fbuf,SizeOf(fBuf));

whileflen>0dobegin

fs.Write(fbuf,flen);

flen:=zip.Read(fbuf,SizeOf(fBuf));

end;

finally

FreeAndNil(zip);

end;

finally

mss.Free;

fs.Free;

end;

//将文件filename.jpg中的图片保存到数据库

//...写出SQL语句,打开Que,并定位到要保存图片的记录,此处从略

fs:=TFileStream.Create('filename.jpg',fmOpenRead);

mss:=TMemoryStream.Create;

try

zip1:=TCompressionStream.Create(clDefault,mss);

try

flen:=fs.Read(fbuf,SizeOf(fBuf));

whileflen>0dobegin

zip1.Write(fbuf,flen);

flen:=fs.Read(fbuf,SizeOf(fBuf));

end;

//保存到数据库

TBlobField(Que.FieldByName('pic')).LoadFromStream(mss);

Que.UpdateBatch();

//...

finally

zip1.Free;

end;

finally

fs.Free;

mss.Free;

end;

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新mssql数据库学习
热门mssql数据库学习
编程开发子分类