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 ;就能正常更新了
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 ;就能正常更新了
change
OleDbParameter prm = new OleDbParameter("@附件", OleDbType.Binary, bytBLOBData.Length,
ParameterDirection.Input, false, 0, 0, null, DataRowVersion.Current, bytBLOBData);with
OleDbParameter prm = new OleDbParameter("@附件", bytBLOBData);
T try
Binary就出问题
结贴