string sql = @"Update TestTb Set TbName = :TbName,TbContent =:TbContent where TbId = :TbId";
OracleCommand cm = new OracleCommand(sql, new OracleConnection(this.Connection.ConnectionString));
cm.Connection.Open();
cm.Parameters.Add("TbName", OracleType.VarChar).Value = model.TbName;
cm.Parameters.Add("TbContent ", OracleType.Clob).Value = model.TbContent ;
cm.Parameters.Add("TbId ", OracleType.Number).Value = model.TbId ;
try
{
cm.ExecuteNonQuery();
}
catch
{
}
TbContent 在数据库里的类型为Clob 如果我用OracleType.Clob 的话会出错。
用户代码未处理 System.Data.OracleClient.OracleException
Message="ORA-01084: OCI 调用中的参数无效"
Source="System.Data.OracleClient"
ErrorCode=-2146232008
Code=1084
而改成 OracleType.VarChar 的话就没有问题。
_parameter.Value = model.TbContent;
cm.Parameters.Add(_parameter);
我用行