字段名为:doc_file
类型是:varBinary
长度为:8000
但是我在程序里先把文档转换为二进制形式,再提交到数据库里,但每次都显示overLoad.
是不是我什么地方弄错了呀.在数据库存里,二进制的长度最长为:8000. 但是我这个64K的word文档转换为二进制为:64000.这样肯定存不进出,但有什么方法解决呀.
程序代码如下:
SqlConnection conn = new SqlConnection("Server=127.0.0.1;uid=sa;pwd=123456;database=train");
string sql="select * from test1";
SqlDataAdapter sda = new SqlDataAdapter(sql,conn);
SqlCommandBuilder MyCB = new SqlCommandBuilder(sda);
DataSet ds = new DataSet("DocFile");
string filePath=Path.GetDirectoryName(Application.ExecutablePath)+@"\File\ExamPaper.doc";
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.Read);
byte[] MyData= new byte[fs.Length];
fs.Read(MyData, 0, System.Convert.ToInt32(fs.Length));
fs.Close();
sda.Fill(ds,"DocFile");
DataRow myRow;
myRow=ds.Tables["DocFile"].NewRow();
myRow["doc_file"] = MyData;
ds.Tables["DocFile"].Rows.Add(myRow);
sda.Update(ds, "DocFile");
conn.Close();
MessageBox.Show ("文件保存到数据库存成功");
11 个解决方案
#1
使用IMAGE字段
#2
如楼上为正解,
另外,你的代码中
类型是:varBinary
长度为:8000
你可以自己算一下,8000字节是多少,不到8K,怎么会存下你的64K的文件呢?
另外,你的代码中
类型是:varBinary
长度为:8000
你可以自己算一下,8000字节是多少,不到8K,怎么会存下你的64K的文件呢?
#3
To:hdt(倦怠)
我现在也把字段类型改成Image类型了,它的长度怎么改都是16,现在用上面的代码保存还是存不进去,还是显示overload.是我的代码有问题吗?
随便问一下,如果我把这个WORD文件保存到数据库后,我再把它读出来,怎么把二进制数据还原成WORD文档?
我现在也把字段类型改成Image类型了,它的长度怎么改都是16,现在用上面的代码保存还是存不进去,还是显示overload.是我的代码有问题吗?
随便问一下,如果我把这个WORD文件保存到数据库后,我再把它读出来,怎么把二进制数据还原成WORD文档?
#4
自己顶一下.
#5
没人知道?大家帮帮忙吧.
#6
up
#7
up
#8
自己再顶一下吧
#9
我知道用网页打开怎么做,现在我也在找从WinForm中直接保存的做法/
#10
我晕哟,现在问题解决了,原来是我数据库我设计表时,把ID哪个字段没有设置成自动增长.所以就存不到数据库里去.
#11
用image字段,参考一下www.cnblogs.com/yistudio
#1
使用IMAGE字段
#2
如楼上为正解,
另外,你的代码中
类型是:varBinary
长度为:8000
你可以自己算一下,8000字节是多少,不到8K,怎么会存下你的64K的文件呢?
另外,你的代码中
类型是:varBinary
长度为:8000
你可以自己算一下,8000字节是多少,不到8K,怎么会存下你的64K的文件呢?
#3
To:hdt(倦怠)
我现在也把字段类型改成Image类型了,它的长度怎么改都是16,现在用上面的代码保存还是存不进去,还是显示overload.是我的代码有问题吗?
随便问一下,如果我把这个WORD文件保存到数据库后,我再把它读出来,怎么把二进制数据还原成WORD文档?
我现在也把字段类型改成Image类型了,它的长度怎么改都是16,现在用上面的代码保存还是存不进去,还是显示overload.是我的代码有问题吗?
随便问一下,如果我把这个WORD文件保存到数据库后,我再把它读出来,怎么把二进制数据还原成WORD文档?
#4
自己顶一下.
#5
没人知道?大家帮帮忙吧.
#6
up
#7
up
#8
自己再顶一下吧
#9
我知道用网页打开怎么做,现在我也在找从WinForm中直接保存的做法/
#10
我晕哟,现在问题解决了,原来是我数据库我设计表时,把ID哪个字段没有设置成自动增长.所以就存不到数据库里去.
#11
用image字段,参考一下www.cnblogs.com/yistudio