首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#怎么将rtf格式的图文混排的文档在access数据库中进行存取

2013-03-28 
C#怎样将rtf格式的图文混排的文档在access数据库中进行存取我在网上看了一些这方面的代码,但自己用的时候,

C#怎样将rtf格式的图文混排的文档在access数据库中进行存取
我在网上看了一些这方面的代码,但自己用的时候,用richtextbox加载的时候总是出现文件格式无效的异常
下面是我的一段代码
da是datadclass的一个实例
 for (int j = 73901; j < 73904; j++)
                    {
                        MemoryStream ms1 = new MemoryStream();
                        richTextBox1.LoadFile("0"+j+".rtf");
                        richTextBox1.SaveFile(ms1, RichTextBoxStreamType.RichText);
                        byte[] by2 = (byte[])ms1.ToArray();
                        strsql = "update  word set 諸家解說='" + by2 + "' where 编号='" + i.ToString() + "'";
                        int m = da.Sqlcmd(by2, i);
                        if (m == 0)
                            MessageBox.Show(i.ToString() + "is not imported successfuly!");
                    }
下面是dataclass类里面的sqlcmd方法
 public int Sqlcmd(byte[] rtf,int bh)
        {
            cmd = new OleDbCommand();
            cmd.Connection = this.Sqlconn();
            cmd.CommandText ="update word set 諸家解說=@zjjs where 编号="+bh+"";
            cmd.Parameters.Add(new OleDbParameter("@zjjs",OleDbType.Binary, rtf.Length, "諸家解說"));
            cmd.Parameters.Add(new OleDbParameter("@编号",OleDbType.Integer));
            //cmd.Parameters.AddWithValue("@zjjs",);
            cmd.Parameters["@zjjs"].Value = rtf;
            cmd.Parameters["@编号"].Value = bh;
           int m= cmd.ExecuteNonQuery();
           this.Closeconn();
           return m;
        }


[解决办法]
存成数据流,就跟储存图片一样,参考
http://www.cnblogs.com/tuyile006/archive/2007/01/08/614718.html
[解决办法]
Access不是有个备注类型的么,可以用这个存储大文本

热点排行