Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从c#调用oracle存储过程而不知道sp参数名称_C#_Oracle - Fatal编程技术网

从c#调用oracle存储过程而不知道sp参数名称

从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")

我希望运行以下代码,但它抛出无法将类型为“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");
cmd.ExecuteNonQuery();

为什么会出现OracleParameterCollection.Add(object)这样的重载,如果我必须只传递OracleParameter?

我认为OracleParameterCollection.Add(object)重载是为了提供参数值而没有名称。正确的做法是

cmd.Parameters.Add("", OracleDbType.Char).Value = "aParamValue";