数据库流问题

qiuzhongyu 2006-09-06 01:08:34
OleDbConnection conn = new OleDbConnection(MySqlClass.ConnectionText );
OleDbCommand cmd = new OleDbCommand(" UPDATE 网络发文 SET 附件=? WHERE 编号='200801'", conn);
string strBLOBFilePath = @"c:\ll.doc";

FileStream fsBLOBFile = new FileStream(strBLOBFilePath, FileMode.Open, FileAccess.Read);
Byte[] bytBLOBData = new Byte[fsBLOBFile.Length];
fsBLOBFile.Read(bytBLOBData, 0, bytBLOBData.Length);
fsBLOBFile.Close();

OleDbParameter prm = new OleDbParameter("@附件", OleDbType.Binary, bytBLOBData.Length,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytBLOBData);
cmd.Parameters.Add(prm);

conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
------------------------------------------
错误提示 :语句已终止。
将截断字符串或二进制数据。

如果更新的换成字符类型的字段就不回提示错误了

CommandTimeout = 设置的很大也没有。如果 不用System.Data.OleDb;用System.Data.SqlClient ;就能正常更新了
...全文
107 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuzhongyu 2006-09-08
  • 打赏
  • 举报
回复
数据库字段设为image就好了
Binary就出问题
结贴
Knight94 2006-09-07
  • 打赏
  • 举报
回复
50多m也没问题
Knight94 2006-09-07
  • 打赏
  • 举报
回复
你的文件大概多大,我试了一下,5、6m没问题
qiuzhongyu 2006-09-06
  • 打赏
  • 举报
回复
Error is Same!!
T try
Knight94 2006-09-06
  • 打赏
  • 举报
回复
have a try!
change
OleDbParameter prm = new OleDbParameter("@附件", OleDbType.Binary, bytBLOBData.Length,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytBLOBData);

with
OleDbParameter prm = new OleDbParameter("@附件", bytBLOBData);
qiuzhongyu 2006-09-06
  • 打赏
  • 举报
回复
Sql server

是同一台电脑上
Knight94 2006-09-06
  • 打赏
  • 举报
回复
数据库是什么

数据库服务器和程序运行所在地是否是同一台机器
qiuzhongyu 2006-09-06
  • 打赏
  • 举报
回复
up
冰宇枫 2006-09-06
  • 打赏
  • 举报
回复
~~沙发

110,531

社区成员

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

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

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