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

youdiving 2013-03-21 10:30:06
我在网上看了一些这方面的代码,但自己用的时候,用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;
}
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
youdiving 2013-03-21
  • 打赏
  • 举报
回复
引用 3 楼 assky124 的回复:
Access不是有个备注类型的么,可以用这个存储大文本
我的rtf文档是图文混排的
assky124 2013-03-21
  • 打赏
  • 举报
回复
Access不是有个备注类型的么,可以用这个存储大文本
youdiving 2013-03-21
  • 打赏
  • 举报
回复
access数据库中没有image类型,我用的是ole类型,但总是出现异常
bdmh 2013-03-21
  • 打赏
  • 举报
回复
存成数据流,就跟储存图片一样,参考 http://www.cnblogs.com/tuyile006/archive/2007/01/08/614718.html
assky124 2013-03-21
  • 打赏
  • 举报
回复
RichTextBox有个RTF的字符串属性,保存的时候直接保存这个就行了。

110,546

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧