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;
 文档

相关文章
相关标签/搜索