DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: kebingoo
今日帖子: 3
在线用户: 3
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 zjhekeshi (zjhekeshi) ★☆☆☆☆ -
普通会员
2004/3/7 10:41:14
标题:
bios 兄 进来一下,帮个忙 浏览:1203
加入我的收藏
楼主: 一个表中建有多个BLOB字段(主要用于存储WORD),如何实现按一个保存键使得所有WORD存贮在对应的字段(响应的WORD对应相应的字段)

procedure TForm5.SpeedButton1Click(Sender: TObject);
var
  MemSize, MemSize1: Integer;
  Buffer,Buffer1: PChar;
  MyFile,MyFile1: TFileStream;
  Stream,stream1: TBlobStream;
  Doc_ole:ToleContainer;
  test,test1:string;
begin
 opendialog1.Filter:='WORD文档(*.DOC)|*.DOC';{从对话窗选择文件}
 MyFile:=TFileStream.Create('C:\My Documents\何科奭\重要文档\宁波市鄞州区新城区拆迁挡案资料管理\拆迁档案\拆迁调产结算清单.doc',fmOpenRead);
 MyFile1:=TFileStream.Create('C:\My Documents\何科奭\重要文档\宁波市鄞州区新城区拆迁挡案资料管理\拆迁档案\宁波市鄞州区新城区房屋拆迁协议书.doc',fmOpenRead);
 MyFile.Seek(0, soFromBeginning);
 MyFile1.Seek(0, soFromBeginning);
    with table1 do   {‘table1’为含BLOB字段的表名}
    begin
      Edit;
      Stream := TBlobStream.Create(FieldByName('拆迁调产协议书')as TBlobField, bmWrite);
      stream1:= TBlobStream.Create(FieldByName('拆迁调产结算清单')as TBlobField, bmWrite);
      {‘Doc’为BLOB字段名}
      MemSize := MyFile.Size;
      MemSize1:= MyFile1.Size;
      Inc(MemSize); {Make room for thebuffer's null terminator.}
      Inc(MemSize1);
      Buffer := AllocMem(MemSize);{Allocate the memory.}
      Buffer1:= AllocMem(MemSize1);
      try
        Stream.Seek(0, soFromBeginning); {Seek 0 bytes from the stream's end point}
        Stream1.Seek(0, soFromBeginning);
        MyFile.Read(Buffer^,MemSize);
        MyFile1.Read(Buffer1^,MemSize1);
        test:=strpas(Buffer);
        test1:=strpas(Buffer1);
        Stream.Write(Buffer^,MemSize);
        Stream.Write(Buffer1^,MemSize1);
      finally
        MyFile.Free;
        MyFile1.Free;
        Stream.Free;
        Stream1.Free;
      end;

           try
             Post;
           except
             on E: EDatabaseError do
           Application.HandleException(E);
         else
          raise;
           end;
     end;
      end;
我试着建立多个Stream变量,可惜不行,不清楚如何解决,请bios帮一下忙,最好能有代码,谢谢你
----------------------------------------------
-
作者:
男 zjhekeshi (zjhekeshi) ★☆☆☆☆ -
普通会员
2004/3/7 13:43:57
1楼: 另外,当BLOB内WORD内容被修改存储后,第二次调用的时候经常会出现BLOB HAVE 
BEEN MODIFIED的信息提示,怎么解决
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行59.57031毫秒 RSS