DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: lambdaflow
今日帖子: 1
在线用户: 3
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 jxw (jxw) ★☆☆☆☆ -
普通会员
2004/5/5 11:07:56
标题:
{求助}数据库中word文档的写入与读出~~~ 浏览:1193
加入我的收藏
楼主: 高手帮忙看看这段代码:

procedure TsampleForm.OpenDOCClick(Sender: TObject);
                  var
                  MemSize: Integer;
                  Buffer: PChar;
                  MyFile: TFileStream;
                  Stream: TBlobStream;
                  begin
                  OpenDialog1.Filter:='WORD文档(*.DOC)|*.DOC'
                  ;{从对话窗选择文件}
                  if OpenDialog1.Execute then begin
                  MyFile:=TFileStream.Create
                  (OpenDialog1.FileName,fmOpenRead);
                  with table1 do {‘table1’为含BLOB字段的表名}
                  begin
                  Open;
                  Edit;
                  Stream := TBlobStream.Create(FieldByName('Doc')
                  as TBlobField, bmWrite);
                  {‘Doc’为BLOB字段名} 
                  MemSize := MyFile.Size;
                  Inc(MemSize); {Make room for the
                  buffer's null terminator.}
                  Buffer := AllocMem(MemSize); 
                  {Allocate the memory.}
                  try
                  Stream.Seek(0, soFromBeginning);
                  {Seek 0 bytes from the stream's end point}
                  MyFile.Read(Buffer^,MemSize);
                  Stream.Write(Buffer^,MemSize);
                  finally
                  MyFile.Free;
                  Stream.Free;
                  end;
                  try
                  Post;
                  except
                  on E: EDatabaseError do
                  if HandelException(E)< >0 then exit                //这里好象有问题!!!
                  else
                  raise;
                  end;
                  end;
                  Doc_ole.CreateObjectFromFile
                  (OpenDialog1.FileName,False);
                  Doc_ole.Run;{Doc_ole为ToleContainer构件名}
                  end;
                  end;
                  ---- 以上为向数据库中写入的程序,应用中从对话窗取出文件在ToleContainer构件中显示的同时存入数据库。 
                  


这是我从网上找到的,我编译的时候老是过不去!谁能帮忙调试一下啊?
我用的是delphi7,ado+access!!为的是实现数据库中word文档的写入与读出~~~~
[emb12]
----------------------------------------------
-
作者:
男 bios (阿贡) ★☆☆☆☆ -
盒子中级会员
2004/5/5 11:50:28
1楼: 这个是正常的啊 这种信息捕获 是在EXE单独运行时可以捕获的,编译时 是不行的
,没有关系 相信偶吧 偶都做过可以的
----------------------------------------------
按此在新窗口浏览图片
按此在新窗口浏览图片
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行73.24219毫秒 RSS