delphi上傳文檔和查看文檔(一)

//上傳文檔sql

procedure Tbo.SpeedButton3Click(Sender: TObject);
var
  pdfFile, sqlStr: string;
begin
  inherited;

  if adointer_bzxx.State in [dsedit, dsinsert] then
    adointer_bzxx.Post;
  if not (odPdf.Execute) then
    exit;
  pdfFile := odPdf.FileName;
  edt1.Text := pdfFile;app

  sqlStr := sqlStr + 'upDate interPacking set ';
  if edt1.Text <> '' then
    sqlStr := sqlStr + ' cPdfFile=:pdfFile,pdfpath=:ppath ';
  sqlStr := sqlStr + 'where ipId=' + adointer_bzxx.findfield('ipid').AsString;
  maindm.QryPub.SQL.Clear();
  maindm.QryPub.SQL.Add(sqlStr);
  try
    if edt1.Text <> '' then
    begin
      maindm.QryPub.Parameters.Items[0].DataType := ftBlob;
      maindm.QryPub.Parameters.ParamByName('pdfFIle').LoadFromFile(pdfFile, ftBlob);
      maindm.QryPub.Parameters.Items[1].DataType := ftString;
      maindm.QryPub.Parameters.ParamByName('ppath').Value := pdfFile;
   end;
    maindm.QryPub.ExecSQL();
  except
    myHs.Error1('更新信息錯誤!');
    abort();
 end;
  myHs.info1('更新信息成功!');spa

end;ip

//查看文檔內存

procedure Tbo.SpeedButton4Click(Sender: TObject);
var
  stream: TmemoryStream;
  pdfDir, fileName, sqlStr: string;
begin
  fileName := gPath + '\pack.Pdf';
  with mainDm do
  begin
    sqlStr := '';
    sqlStr := sqlStr + 'select cPdfFile from interPacking where ipId=' + adointer_bzxx.findfield('ipid').AsString;
    qryAssist.SQL.Clear();
    qryAssist.SQL.Add(sqlStr);
    try
      qryAssist.Open();
    except
      myHs.Error1('提取PDF文件錯誤!');
      abort();
    end;
    if FileExists(filename) then
      DeleteFile(fileName);
    if not (qryAssist.Eof) then
    begin
      try
        Stream := TMemoryStream.Create();
        TBlobField(qryAssist.FieldByName('cPdfFile')).SaveToStream(Stream); // 顯示的轉換爲BlobField並保存到內存流
        Stream.Position := 0;
        stream.SaveToFile(fileName);
      finally
        stream.Free;
      end;
    end;
    qryAssist.Close();
    if fileExists(fileName) then
      ShellExecute(application.Handle, 'open', pchar(fileName), '', '', SW_SHOWNORMAL)
    else
      myHs.warn1('未能正確提取PDF文件!');
  end;
end;
 文檔

相關文章
相關標籤/搜索