如何在CSharp中给PLSQL存储过程传递number类型的参数,请给出代码示例
时间: 2024-05-12 14:17:02 浏览: 75
下面是一个示例代码,展示如何在C#中给PL/SQL存储过程传递number类型的参数:
```
// 创建一个Oracle连接对象
OracleConnection conn = new OracleConnection("user id=username;password=password;data source=datasource");
// 打开连接
conn.Open();
// 创建一个Oracle命令对象
OracleCommand cmd = new OracleCommand("my_plsql_procedure", conn);
cmd.CommandType = CommandType.StoredProcedure;
// 添加参数
OracleParameter p1 = new OracleParameter("p1", OracleDbType.Decimal);
p1.Direction = ParameterDirection.Input;
p1.Value = 123.45m; // 传递一个decimal类型的参数
cmd.Parameters.Add(p1);
// 执行存储过程
cmd.ExecuteNonQuery();
// 关闭连接
conn.Close();
```
在这个示例中,我们创建了一个名为`my_plsql_procedure`的存储过程,并向其中传递了一个名为`p1`的number类型的参数。参数的值在代码中设置为一个`decimal`类型的值`123.45m`。
请注意,我们使用Oracle数据提供程序中的`OracleParameter`类来创建参数对象,并将其添加到命令对象中。我们还将参数的方向设置为`Input`,以指示它是输入参数。最后,我们在执行命令之前打开连接,并在命令执行完毕后关闭连接。
阅读全文