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 ;就能正常更新了

解决方案 »

  1.   

    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);
      

  2.   

    Error is Same!!
    T try
      

  3.   

    数据库字段设为image就好了
    Binary就出问题
    结贴