📄 593436.xml
字号:
<?xml version='1.0' encoding='GB2312'?>
<?xml-stylesheet type='text/xsl' href='../csdn.xsl'?>
<Topic>
<Issue>
<PostUserNickName>一颗神石</PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>110</credit>
<TopicId>593436</TopicId>
<TopicName>如何将rtf文本或word文档存储在sql server数据库上,并将其完整的读出来?</TopicName>
<PostUserId>170473</PostUserId>
<PostUserName>benediction</PostUserName>
<RoomName>JSP</RoomName>
<ReplyNum>4</ReplyNum>
<PostDateTime>2002-3-22 15:14:48</PostDateTime>
<Point>50</Point>
<ReadNum>0</ReadNum>
<RoomId>28</RoomId>
<EndState>2</EndState>
<Content>我下在可以将rtf或word文档(带图片)用二进制形式存储在sql server数据库中,但是我却无法读取出来,各位有什么好办法吗?原程序,资料都可以,我先行谢过了.</Content>
</Issue>
<Replys>
<Reply>
<PostUserNickName>灯泡</PostUserNickName>
<rank>五级(中级)</rank>
<ranknum>user5</ranknum>
<credit>144</credit>
<ReplyID>3939795</ReplyID>
<TopicID>593436</TopicID>
<PostUserId>98085</PostUserId>
<PostUserName>leonzhao</PostUserName>
<Point>0</Point>
<Content>我先说一下,非常不建议用这种方案,很多实例都已经证明了,这样的话一定会让数据库,尤其是SQL Server这种中型的数据库吃不消的。</Content>
<PostDateTime>2002-3-22 20:20:57</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>weidegong</PostUserNickName>
<rank>一星(中级)</rank>
<ranknum>star1</ranknum>
<credit>120</credit>
<ReplyID>3940359</ReplyID>
<TopicID>593436</TopicID>
<PostUserId>128268</PostUserId>
<PostUserName>weidegong</PostUserName>
<Point>50</Point>
<Content>//从数据库中读取并生成大二进制文件
//参数sql只返回一个字段,即大二进制文件那个字段;FileName,生成的文件名
  public void WriteToFileByOdbc(String sql,String FileName){
    int countInt=0;String strDBError="";
    try{
      Rst = Stmt.executeQuery(sql);
      if (Rst.next()){
         InputStream ins=Rst.getBinaryStream(1);
         FileOutputStream fos=new FileOutputStream(FileName);
        int readbyte=0;
        while (true)
         {
           readbyte=ins.read();
          if (readbyte==-1)
               break;
           fos.write(readbyte);
         }
          ins.close();
          }
        countInt=1;//写入成功
        }catch(FileNotFoundException aa){
          countInt=-1;
          strDBError="File error:"+aa.getMessage();
          System.out.println("File error");
        }catch(SQLException sqly){
          countInt=-1;
          strDBError="SQL error:"+sqly.getMessage()+"<p>"+sql;
          System.out.println("Sql error");
        }catch(IOException io){
          countInt=-1;
          strDBError="IO error:"+io.getMessage();
          System.out.println("IO error");
        }
   }</Content>
<PostDateTime>2002-3-22 21:20:09</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>weidegong</PostUserNickName>
<rank>一星(中级)</rank>
<ranknum>star1</ranknum>
<credit>120</credit>
<ReplyID>3940365</ReplyID>
<TopicID>593436</TopicID>
<PostUserId>128268</PostUserId>
<PostUserName>weidegong</PostUserName>
<Point>0</Point>
<Content>哦,忘了下面的
import java.sql.*;
import java.util.*;
import java.io.*;</Content>
<PostDateTime>2002-3-22 21:20:54</PostDateTime>
</Reply>
<Reply>
<PostUserNickName>一颗神石</PostUserNickName>
<rank>三级(初级)</rank>
<ranknum>user3</ranknum>
<credit>110</credit>
<ReplyID>3941030</ReplyID>
<TopicID>593436</TopicID>
<PostUserId>170473</PostUserId>
<PostUserName>benediction</PostUserName>
<Point>0</Point>
<Content>好好好,谢谢你了,我也不准备采用这种方法,只是一直没有想出一个好的解决办法,倒是走了很多弯路,所以很想把它搞明白。
我一直想用RTFEditorKit或HTMLEditorKit,好像这两个都不是很支持图片。
看了你的程序,我基本明白了,我原先也已将二进制数据读了出来,但是我就是不知道怎么把他在保存为word文档的形式。
等我试过以后再给你分吧!</Content>
<PostDateTime>2002-3-22 22:35:31</PostDateTime>
</Reply>
</Replys>
</Topic>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -