【发布时间】:2018-06-08 10:59:09
【问题描述】:
我遇到了这个错误:Microsoft.Practices.EnterpriseLibrary.Data.dll 中发生了“System.InvalidOperationException”类型的异常,但未在用户代码中处理。附加信息:参数的数量与值的数量不匹配用于存储过程。这是我的代码:
public static IEnumerable<abcProduct> GetAll()
{
string cnn =
"database connectionstring";
using (OracleConnection conn = new OracleConnection(cnn))
{
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "package_name.sp_name";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("resultset_out", OracleDbType.RefCursor, ParameterDirection.Output);
OracleDataReader rdr = cmd.ExecuteReader();
//rdr.Read();
while (rdr.Read())
{
yield return new vProduct(GetNullableValue<string>(rdr["ABC_PRODUCT"]), GetNullableValue<string>(rdr["ABC_PRODUCT_AREA"]));
}
}
}
这是我的存储过程结构
PROCEDURE PRC_ABC_PRODUCTS_GETALL(resultset_out OUTPUT TYPES.cursorType) AS
BEGIN
OPEN resultset_out
FOR
SELECT UPPER(products.abc_product) abc_product,
MAX(productareas.abc_product_area) abc_product_area
FROM SCHEMA.AS_ABC_PRODUCT products
LEFT JOIN SCHEMA.AS_ABC_PRODUCT_AREA productareas
ON products.V_PRODUCT_AREA_ID = productareas.ABC_PRODUCT_AREA_ID
WHERE products.VALID = 1
AND products.abc_product NOT LIKE '$%'
GROUP BY UPPER(products.abc_product),
UPPER(productareas.abc_product_area)
ORDER BY UPPER(products.ABC_PRODUCT);
END
PRC_ABC_PRODUCTS_GETALL;
有人可以帮忙吗?谁能指出错误是什么?非常感谢您的帮助:-)
【问题讨论】:
标签: c# asp.net asp.net-mvc oracle stored-procedures