国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

在程序中壓縮sql server2000的數據庫備份文件的代碼

2024-08-31 01:00:10
字體:
來源:轉載
供稿:網友
怎樣壓縮sql server2000的數據庫備份文件,像rar一樣?小弟有一7m的sql server2000
數據庫備份文件,在程序中怎樣壓縮啊?

復制代碼 代碼如下:


procedure TForm1.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 := 'a e:/qwqw.rar e:/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('a e:/zqzq.rar e:/zqzq'),'',SW_show); 
ShowMessage('壓縮完畢!'); }   


這是一段壓縮圖片的代碼,壓縮文件原理相同,只需稍做改動即可。

復制代碼 代碼如下:


var 
  mss: TMemoryStream; 
  zip: TDeCompressionStream; 
  zip1: TCompressionStream; 
  fs : TFileStream; 
  fBuf: Array[0..16383] of Byte; 
  flen: Integer; 
  //從數據庫中取出圖片 
  //...寫出SQL語句以取得有圖片的記錄,此處從略 
  mss := TMemoryStream.Create; 
  fs := TFileStream.Create('filename.jpg',fmCreate or fmOpenWrite); 
  try 
    TBlobField(Que.FieldByName('pic')).SaveToStream(mss); 
    zip := TDeCompressionStream.Create(fs); 
    try 
      flen := zip.Read(fbuf, SizeOf(fBuf)); 
      while flen > 0 do begin 
        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)); 
      while flen > 0 do begin 
        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;   

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 池州市| 青田县| 青龙| 平和县| 平度市| 建平县| 内江市| 车险| 榆林市| 封开县| 仁怀市| 沅陵县| 泌阳县| 临安市| 灯塔市| 讷河市| 佛学| 措勤县| 湖口县| 和硕县| 廊坊市| 沐川县| 册亨县| 太仆寺旗| 察雅县| 万荣县| 卫辉市| 泾阳县| 大理市| 监利县| 建始县| 宁武县| 屯门区| 博罗县| 大港区| 洪泽县| 英山县| 西乌| 饶阳县| 任丘市| 苏州市|