我有一个名为Get_Added_Request_ID的过程,并且使用此过程我需要返回Request_ID值(VARCHAR2)。我引用了Oracle和Microsoft发布的大量文档,但我找不到一个好的解决方案可能是因为我是Oracle和ASp.NET的新学习者。请有人在这个问题上帮助我。提前致谢
- 参数类型模式默认? - ATTR_ VARCHAR2 IN - REQUEST_ID VARCHAR2 OUT
答案 0 :(得分:1)
请查看此link以获取有关如何使用oracle数据提供程序连接到oracle的文档
您应该使用此link中的oracle数据提供程序来连接oracle。
您的方案的示例代码将是
Using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OracleClient;
using System.Data;
namespace CallingOracleStoredProc
{
class Program
{
static void Main(string[] args)
{
using (OracleConnection objConn = new OracleConnection("Data Source=*your datasource*; User ID=*Your UserID*; Password=*Your Password*"))
{
OracleCommand objCmd = new OracleCommand();
objCmd.Connection = objConn;
objCmd.CommandText = "Get_Added_Request_ID";
objCmd.CommandType = CommandType.StoredProcedure;
objCmd.Parameters.Add("ATTR_", OracleType.NVarChar).Value = "test";
objCmd.Parameters.Add("REQUEST_ID", OracleType.NVarChar).Direction = ParameterDirection.Output;
try
{
objConn.Open();
objCmd.ExecuteNonQuery();
System.Console.WriteLine("The Request ID is {0}", objCmd.Parameters["REQUEST_ID"].Value);
}
catch (Exception ex)
{
System.Console.WriteLine("Exception: {0}",ex.ToString());
}
objConn.Close();
}
}
}
}
答案 1 :(得分:0)
使用execute scalar返回1行 - 1列值&将其存储在适当的变量中 例如: - SqlHelper.ExecuteScalar(_connectionString,CommandType.StoredProcedure,“Get_Added_Request_ID”,null);
注意: - ExecuteScalar来自nuget Microsoft.Application Block