//上传文档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;
文档