小弟做了一个小程序,想实现如下功能:
1,将word、excel、pdf文件存入数据库
2. 可以直接打开浏览
做的是cs结构,服务器端无iis,数据库为sqlserver
从网上查了很长时间,找不到满意的答复,求各位兄弟帮忙啊。

解决方案 »

  1.   

    很简单啊,通过文件流就可以了
    数据库字段类型设置为IMAGE
    以文件流模式存储和存储照片一样,代码都不用改。至于如何打开,通过TOLEContain直接可以打开
      

  2.   

    OLEContainer的标签下面, 照 Hank(星星农场) 
    再补充一点用LoadFromStreadm方法载入, 用
     OleContainer1.SaveToStream();保存
      

  3.   

    搜索下吧 ,去Delphibbs.com看看,那里的资料比较多
      

  4.   

    怎么给你例子,所有代码不过20来行,核心代码不过数行1、打开文件
      with TOpenDialog.Create(Self) do
      try
        if Execute then
        begin
          OleContainer.CreateObjectFromFile(FileName,False);
          OleContainer.DoVerb(OleContainer.PrimaryVerb);
        end;
      finally
        Free;
      end;2、保存到数据库中
    var
    Stream: TStream;        ADOQury.Insert;
            ADOQury.FieldByName('FILEIDNO').AsString:='0001';
            Stream:=ADOQury.CreateBlobStream(ADOQury.FieldByName('FILEBODY'), bmWrite);
            try
              OleContainer.SaveToStream(Stream);
            finally
              Stream.Free;
            end;
            ADOQury.Post;3、打开数据表察看文件
    var
      Stream: TStream;        Stream:=ADOQury.CreateBlobStream(ADOQury.FieldByName('FILEBODY'), bmRead);
            try
              OleContainer.LoadFromStream(Stream);
            finally
              Stream.Free;
            end;
            OleContainer.DoVerb(ovPrimary);
      

  5.   

    多谢星星,本来以为olecontainer不能自动识别文件格式,所以显示上可能会有问题。呵呵,没想到如此简单。