从c#调用oracle存储过程而不知道sp参数名称
我希望运行以下代码,但它抛出无法将类型为“System.String”的对象强制转换为类型为“Oracle.ManagedDataAccess.Client.OracleParameter”:从c#调用oracle存储过程而不知道sp参数名称,c#,oracle,C#,Oracle,我希望运行以下代码,但它抛出无法将类型为“System.String”的对象强制转换为类型为“Oracle.ManagedDataAccess.Client.OracleParameter”: var conn = new OracleConnection(ORACLE_CONN_STR); conn.Open(); OracleCommand cmd = new OracleCommand("procName", conn); cmd.Parameters.Add("aParamValue")
var conn = new OracleConnection(ORACLE_CONN_STR);
conn.Open();
OracleCommand cmd = new OracleCommand("procName", conn);
cmd.Parameters.Add("aParamValue");
cmd.ExecuteNonQuery();
为什么会出现OracleParameterCollection.Add(object)这样的重载,如果我必须只传递OracleParameter?我认为OracleParameterCollection.Add(object)重载是为了提供参数值而没有名称。正确的做法是
cmd.Parameters.Add("", OracleDbType.Char).Value = "aParamValue";