返回值为varchar2类型的示例:
public string QueryForLastestIndicatorValue(string personId, string crowdGroup)
{
OracleParameter[] parms = new OracleParameter[]
{
new OracleParameter(":个人id_In", OracleDbType.Varchar2),
new OracleParameter(":人群码集合_In", OracleDbType.Varchar2),
new OracleParameter(":结果_Out", OracleDbType.Varchar2,ParameterDirection.Output){Size=255}
};
parms[0].Value = personId;
parms[1].Value = crowdGroup;
int k = OracleHelper.ExecuteNonQuery(OracleHelper.ConnectionStringLocalTransaction, CommandType.StoredProcedure, "P_居民关注指标_QUERY2", parms);
object value = parms[2].Value;
return (value == null || value.ToString().Equals("null")) ? string.Empty : value.ToString();
}
返回值为cursor(dataset)的示例
DataSet ds = new DataSet();
OracleParameter[] parms = new OracleParameter[]
{
new OracleParameter(":个人id_In", OracleDbType.Varchar2),
new OracleParameter(":指标名称_In", OracleDbType.Varchar2),
new OracleParameter(":指标名称_In", OracleDbType.RefCursor,ParameterDirection.Output),
};
parms[0].Value = personId;
parms[1].Value = attentionTarget;
OracleConnection connection = new OracleConnection(OracleHelper.ConnectionStringLocalTransaction);
OracleCommand cmd = new OracleCommand("p_居民关注指标明细_Query", connection);
cmd.CommandType = CommandType.StoredProcedure;
OracleDataAdapter adapter = new OracleDataAdapter(cmd);
connection.Open();
if (parms != null && parms.Length > 0)
adapter.SelectCommand.Parameters.AddRange(parms.ToArray());
OracleDataReader read = cmd.ExecuteReader(CommandBehavior.SchemaOnly);//ODP驱动时如果查询的字段有参数则会报ORA-01036: 非法的变量名/编号错误,先执行以下ExecuteReader可避免
read.Close();
read.Dispose();
connection.Close();
adapter.Fill(ds);
return ds;
分享到:
相关推荐
在C#中使用ODP.NET(Oracle Data Provider for .NET)调用Oracle数据库中的函数时,有时会遇到返回值获取异常的问题。本文将详细解析这个问题的原因以及提供一种有效的解决方案。 首先,我们来看一下Oracle函数`F_...
在C#中调用Oracle存储过程,可以使用Oracle.DataAccess.Client库(ODP.NET),通过OracleCommand对象创建一个存储过程调用,并设置CommandType为StoredProcedure。例如,调用`wyd_print`存储过程: ```csharp using...
在C#中调用Oracle存储过程,我们需要使用Oracle提供的ODP.NET(Oracle Data Provider for .NET)库,它可以提供全面的数据访问功能,包括执行存储过程。以下是一些关键知识点: 1. **OracleConnection对象**:这是...
在.NET平台上,C#语言可以直接与Oracle数据库进行交互,无需安装完整的Oracle客户端或者依赖于Oracle Data Provider for .NET (ODP.NET)。这种技术主要基于Oracle的OCI(Oracle Call Interface)库,通过引用oci.dll...
本实例将探讨如何使用C#通过VS2010访问Oracle存储过程。 首先,你需要在VS2010中创建一个新的C#项目,选择相应的.NET Framework版本,如4.0。然后,确保你的系统已经安装了Oracle客户端或者ODP.NET(Oracle Data ...
本文将深入探讨如何使用C#来调用Oracle存储过程,并将其结果封装成XML,以构建一个Web服务,用于医院系统的实际应用。 首先,让我们了解C#如何连接到Oracle数据库。这通常通过ODP.NET(Oracle Data Provider for ...
在C#中调用Oracle存储过程是常见的数据交互操作,特别是在需要执行复杂数据库逻辑时。以下将详细介绍如何在C#中通过ADO.NET库来调用Oracle存储过程。 首先,确保已经安装了Oracle的客户端驱动,例如Oracle Data ...
6. **存储过程的调用**: 通过设置`CommandType`为`StoredProcedure`,并提供存储过程的名称,可以调用Oracle数据库中的存储过程。 ```csharp cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = ...
总的来说,使用.NET的`System.Data.OracleClient`命名空间,我们可以方便地在C#应用程序中调用Oracle数据库的存储过程和函数,实现数据的增删改查以及其他复杂业务逻辑。需要注意的是,Oracle已经停止对`System.Data...
总结来说,"Oracle连接C#"涉及的知识点包括:使用ODP.NET进行数据库连接、数据库连接字符串的构造、执行SQL查询、调用存储过程、异常处理、性能优化和安全实践。在实际项目中,这些知识点构成了高效、安全的C#与...
6. **存储过程和函数调用**: 开发者可以使用Oracle.DataAccess来调用Oracle数据库中的存储过程和函数,这包括输入参数、输出参数和返回值的处理。 7. **高级特性支持**: ODP.NET 支持Oracle的高级特性,如游标、PL/...
7. **存储过程与函数**:介绍调用Oracle数据库中的存储过程和函数的方法,包括输入、输出和返回值参数。 8. **异常处理与错误处理**:提供关于Oracle异常类的使用指导,以及如何捕获和处理Oracle数据库操作中可能...
在IT行业中,数据库管理系统是数据存储和管理的核心工具,而Oracle是全球领先的数据库解决方案之一,尤其在企业级应用中广泛使用。本示例主要关注如何使用C#编程语言连接到Oracle数据库,这在开发.NET应用时是常见的...