我用的是access数据库 吧数据 以.rtf 的格式存入数据库 但是 我想吧 所有的数据 取出来并取到一个 richTextBox里面 我用追加的方法 richTextBox1.rtf+="" 
             richTextBox1.rtf+="" 
             richTextBox1.rtf+="" 
不追加 不知道问题出在哪里了 奇怪 我用纯文本就能追加 ??请各位网友 ,和朋友帮忙啊 大家遇见过这种情况没 。谢谢大家

解决方案 »

  1.   

    不是 richTextBox1.Text 是richTextBox1.rtf+= "" 为什么不追加的问题
      

  2.   

    rtf是有格式的,不能随便追加的
      

  3.   

    比如一段html代码
    <html><body>aaa</body></hmtl>,已经结束了,你还追加
    <html><body>aaa</body></hmtl><html><body>bbb</body></hmtl>
    页面怎么可能会显示出来
      

  4.   

     public partial class Form1 : Form
        {
            OleDbConnection conn;
            OleDbCommand cmd;
            OleDbDataReader dr;
            string strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data\\news.mdb;Jet OLEDB:Database Password =111lll";
            public Form1()
            {
                InitializeComponent();
            }        string Strquestion;
            private void Form1_Load(object sender, EventArgs e)
            {
                conn = new OleDbConnection(strconn);
                conn.Open();
                string Str_select = "select * from A_PartTwoChoses";
                cmd = new OleDbCommand(Str_select, conn);
                dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    Strquestion = dr["Question"].ToString();
                }
                this.richTextBox1.Rtf = Strquestion;
                this.richTextBox1.Rtf += Strquestion;        }  代码 给出  看看为什么不追加啊 
      

  5.   

    我做的是 C# winform 程序 不是web
      

  6.   

    猜想rtf格式有开头标记和结束标记,你追加后就存在多个开头和结束,可能需要找下rtf格式研究下,每次追加时做些处理.
      

  7.   

    要按照游戏规则来:http://msdn.microsoft.com/en-us/library/aa140277(v=office.10).aspx
      

  8.   

    等一下,被你懵了!richTextbox1.Rtf += "";你都加空字符串,当然没有反应啦!!等于什么都没有加嘛!
      

  9.   


      Strquestion ="";
      while (dr.Read())
      {
      Strquestion += dr["Question"].ToString();
      }
      this.richTextBox1.Rtf = Strquestion;
      

  10.   

    你赋值的时候,弄错了,第读取一条,直接把这条赋给了Strquestion,也就是永远只能把最后一条的值给保留下来,前面的都被覆盖了。
    你的+=放在while外面,没用。
      

  11.   

    你这个有问题,改为while (dr.Read())
      {
      Strquestion += dr["Question"].ToString();
      }
      this.richTextBox1.Rtf = Strquestion;
      
      

  12.   

    Strquestion ="";
      while (dr.Read())
      {
      Strquestion += dr["Question"].ToString();
      }
      this.richTextBox1.Rtf = Strquestion;这样是不对我试了 还是一条不追加。你这个有问题,改为while (dr.Read())
      {
      Strquestion += dr["Question"].ToString();
      }
      this.richTextBox1.Rtf = Strquestion这样也不对 也只有现实一条数据 不行 就是不追加??谢谢你们的 解答 》问题还在研究中!!这个是不是能实现啊
      

  13.   


    那就用这个

    http://msdn.microsoft.com/en-us/library/aa140277(v=office.10).aspx
      

  14.   

    翻开我原来写的一个有用到的项目,纵使有注解我也已经完全遗忘了那些字符的含义,
    但如果你问道,为什么不能相加合并,我大致举个例子:rtf文件大致如下,{{文件头,rtf文件开始了}{使用各种色彩,颜色深度什么的}文件内容{文件结束}}
    而你希望实现的是
    {{文件头,rtf文件开始了}{使用各种色彩,颜色深度什么的}文件内容+文件内容{文件结束}}然而你使用的累加方式会使内容变为:
    {{文件头,rtf文件开始了}{使用各种色彩,颜色深度什么的}文件内容{文件结束}}+{{文件头,rtf文件开始了}{使用各种色彩,颜色深度什么的}文件内容{文件结束}}
      

  15.   

    当时也烦恼了许久,最后采用动态拼接的方法实现了,就是,数据库中不要存放rtf,
    只存放一些关键字,关键字之间使用特殊符号隔开,如:☆ ❀ 什么的,这样读取字段后
    可以分解为几个小部分,然后套用格式(循环累加内容),生成一个rtf显示。