SQL如何保存word数据,然后如何从SQL读取数据导出到word文档

秋风十里 2017-05-25 11:55:08
1:问题一,如标题!
2:问题二,SQL保存word数据有几种实现方法。
3:问题三,我试过把word导进去数据,表字段类型是image,word文档转换成二进制进行保存数据库,但导出到word就出现乱码。

请各位大哥大姐有什么好的方法分享学习下,谢谢。最好有附加一个学习的网址。
下面是小弟实践的代码:
部分代码,不便之处敬请谅解。
代码上部分:把word数据保存到sql数据库中,保存过程为二进制代码。

FileStream fs = new FileStream(this.openFileDialog1.FileName, FileMode.Open);
byte[] value = new byte[fs.Length];
fs.Read(value, 0, value.Length);

sqlcom = new SqlCommand();
sqlcom.Connection = SqlCon();
sqlcom.Connection.Open();
sqlcom.CommandText = "insert into 导出数据到Word文档(WORD) values(@word)";
sqlcom.Parameters.Add("@word",SqlDbType.Image);
sqlcom.Parameters[0].Value = value;
sqlcom.ExecuteNonQuery();
sqlcom.Connection.Close();

MessageBox.Show("保存成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);


代码下部分:将数据二进制存进缓冲区byte中后进行解码,但这一步出现乱码。尝试过多种编码格式均无效。

byte[] by = null;
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(sqlcon,con);
da.Fill(ds);

by = (byte[])ds.Tables[0].Rows[0][0];

Console.WriteLine(by.Count().ToString());

Console.WriteLine(Encoding.UTF8.GetString(by,0,by.Length));
Console.WriteLine(Encoding.GetEncoding("GDK").GetString(by,0,by.Length));


执行结果:


希望能得到完美的解决方案。谢谢各位了
...全文
583 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2017-05-27
  • 打赏
  • 举报
回复
引用 5 楼 qq_23833037 的回复:
[quote=引用 2 楼 diaodiaop 的回复:] 一般都没人把"文件"存入数据库. 都只是采用上传的方式 上传到服务器 服务器记录保存的位置而已....
麻烦问下文件是如何上传到数据库服务器的?[/quote] B/S 可以用 上传控件。 C/S 服务器设置 ftp, 客户端按 ftp 上传到服务器上就好。
threenewbee 2017-05-26
  • 打赏
  • 举报
回复
word文档和一般的二进制文档没有区别,google C# sql读取blob 二进制文档
秋风十里 2017-05-26
  • 打赏
  • 举报
回复
引用 2 楼 diaodiaop 的回复:
一般都没人把"文件"存入数据库. 都只是采用上传的方式 上传到服务器 服务器记录保存的位置而已....
麻烦问下文件是如何上传到数据库服务器的?
by_封爱 版主 2017-05-26
  • 打赏
  • 举报
回复
一般都没人把"文件"存入数据库. 都只是采用上传的方式 上传到服务器 服务器记录保存的位置而已....
吉普赛的歌 2017-05-26
  • 打赏
  • 举报
回复
你从数据库里取出之后, 应该保存到文件才对呀, 直接 console.write 是什么鬼?
绿领巾童鞋 2017-05-26
  • 打赏
  • 举报
回复
字段类型 blob ,把文件流以二进制形式保存到该字段。

110,566

社区成员

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

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

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