c# - 尝试调用过程并传递参数获取错误
问题描述
我正在尝试调用存储过程并传递参数,但出现错误
内部 .net 框架数据提供程序错误 30
在这行代码上:
conn.CallProcedure("DBPRD.insertUnit(P_ID=:COLUMN1,REV=:COLUMN2,'804',PROP=:COLUMN3,CRTDBY=:COLUMN4)", P_ID,REV,PROP,CRTD_BY);
我的完整代码:
public int CallProcedure(string cmdText, params object[] param)
{
int rowsAffected = 0;
using (OracleConnection connection = new OracleConnection(connectionString))
{
OracleCommand command = new OracleCommand(cmdText, connection);
OracleTransaction insTransaction;
connection.Open();
insTransaction = connection.BeginTransaction();
command.CommandType = CommandType.StoredProcedure;
command.Transaction = insTransaction;
for (int i = 0; i < param.Length; i++)
{
command.Parameters.AddWithValue(":COLUMN" + (i + 1).ToString(), param[i]);
}
try
{
rowsAffected = command.ExecuteNonQuery();
insTransaction.Commit();
}
catch (Exception ex)
{
insTransaction.Rollback();
}
finally
{
command.Dispose();
connection.Close();
}
}
return rowsAffected;
}
任何想法如何解决这个问题将不胜感激。
解决方案
推荐阅读
- java - 执行程序以读取属性文件时找不到元素“bean”的声明
- freeradius - freeradius 3.0.13 使用自定义属性回复
- c - 什么是 C 中的模块?
- c# - 如何通过linq对列表进行分组并在数据表中显示内部列表
- vba - 循环遍历充满 excel 文件的文件夹中的特定工作表并提取为 .csv
- python - 记录的重复数据删除
- python-3.x - Networkx 错误:“在 _not_implemented_for 术语中 = {'directed': graph.is_directed()}”
- php - Google 云打印无法转换为 PDF
- wordpress - 如何在转发器字段中动态填充复选框值
- c# - .NetCore 2.x 关于使用 {*catchAll} 路由 URL.Action 总是返回 null