請問如何用把word文檔存入sql數據庫中,我用流存入了數據庫,但是要讀出來我就不知道怎麼調了,請教高手。 
  假設資料庫table1  有兩個欄位name  和  neirong(image欄位)  
  輸入name  選定neirong的所在目錄  
  通過name  搜索並導出neirong  中的文件 
向欄位中保存文件  
  begin  
    if  OpenDialog1.Execute  then  //“打開文件”對話方塊  
    begin  
      ADOTable1.insert;    //或  ADOTable1.append;  
      ADOTable1.FieldByName('fname').AsString:=OpenDialog1.FileName;  //保存檔案名  
      (ADOTable1.FieldByName('neirong')  as  TBlobField).LoadFromFile(OpenDialog1.FileName);  
      //直接將內容從文件倒入資料庫  
      ADOTable1.Post;  
    end;  
  end;  
  讀取欄位中的文件    (這段代碼不能實現,請問該怎麼編?) 
  var  
    bs:TMemoryStream;  
    fname:  String;  
  begin  
    fname:=ADOTable1.FieldByName('fname').AsString;  //讀取檔案名  
    bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);  
    //讀出內容到記憶體流  
    bs.SaveToFile(fname);  //將記憶體流中的內容保存爲文件  
    bs.Free;  
  end;  

解决方案 »

  1.   

      var  
        bs:TMemoryStream;  
        fname:  String;  
      begin  
        fname:=ADOTable1.FieldByName('fname').AsString;  //讀取檔案名  
        bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);  
        //讀出內容到記憶體流  
        bs.position := 0;(切记,一定要把position置为0,否则,默认在流的最后,当然读不到东西了)    bs.SaveToFile(fname);  //將記憶體流中的內容保存爲文件  
        bs.Free;  
      end;  
      

  2.   

      var  
        bs:TMemoryStream;  
        fname:  String;  
      begin  
        fname:=ADOTable1.FieldByName('fname').AsString;  //讀取檔案名  
        bs:=ADOTable1.CreateBlobStream(ADOTable1.FieldByName('neirong'),bmRead);  
        //讀出內容到記憶體流  
        bs.position := 0;(切记,一定要把position置为0,否则,默认在流的最后,当然读不到东西了)     bs.SaveToFile(fname);  //將記憶體流中的內容保存爲文件  
        bs.Free;  
      end;  
      

  3.   

    用流来实现就可以了。跟存JPG图片是一样的。怎么贴子才给零分?
      

  4.   

    刚在坛中看到一个,转给你看看!保存到库的示例 
    TBlobField(adoQryDocLibrary.FieldByName('FileContent')).LoadFromFile(FDocPathAndFileName); 下载(可以这么叫) 
    TBlobField(adoQryDocLibrary.FieldByName('FileContent')).SaveToFile(sdSavelFile.FileName);