【发布时间】:2020-08-13 00:46:51
【问题描述】:
我正在尝试更新 LetterTemplate 表中名为 Body 的列。但是每当我尝试执行查询时,错误都会显示:不一致的数据类型:预期的数字得到了二进制
我的代码:
public static void UpdatData(OracleConnection connection, int mailId, byte[] sData)
{
OracleCommand command = new OracleCommand("UPDATE LetterTemplate SET " + "BODY = :BODY WHERE ID = :ID ", connection);
OracleParameter blobParameter = new OracleParameter();
blobParameter.OracleDbType = OracleDbType.Blob;
blobParameter.ParameterName = "BODY";
blobParameter.Value = sData;
OracleParameter mailIDParameter = new OracleParameter();
mailIDParameter.OracleDbType = OracleDbType.Int32;
mailIDParameter.ParameterName = "ID";
mailIDParameter.Value = mailId;
//command.Parameters.Add("ID", OracleDbType.Int32).Value = mailId;
//command.Parameters.Add("BODY", OracleDbType.Blob, sData.Length).Value = sData;
command.Parameters.Add(mailIDParameter);
command.Parameters.Add(blobParameter);
//connection.Open();
command.ExecuteNonQuery();
}
【问题讨论】: