C# 对应 Oracle 存储过程 的 SYS_REFCURSOR 应该 传入什么类型的参数?

简介:
Oracle中scott用户下创建存储过程:

(注:从9i开始有了sys_refcursor这种类型,在以前的Oracle版本中需要使用REF CURSOR,并且还需放在一个程序包中)

create or replace procedure sp_getdept

(result out sys_refcursor)

as

begin

open result for select * from dept;

end;

/

===================================================

.net环境下(用的WINDOWS程序,WEB基本相同;环境为VS2005)

==记着先添加引用System.Data.OracleClient

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Data.OracleClient;

namespace WindowsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

      

        private void Form1_Load(object sender, EventArgs e)

        {

            OracleConnection con = new OracleConnection("server=orcl;uid=scott;pwd=tiger");

            OracleCommand cmd = new OracleCommand("sp_getdept",con);

            cmd.CommandType = CommandType.StoredProcedure;

            OracleParameter p1 = new OracleParameter("result", OracleType.Cursor);

            p1.Direction = System.Data.ParameterDirection.Output;

            cmd.Parameters.Add(p1);

            OracleDataAdapter da = new OracleDataAdapter(cmd);

            DataSet ds = new DataSet();

            da.Fill(ds);

            this.dataGridView1.DataSource = ds.Tables[0];

        }

    }

}
参考资料: baidu


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2011/12/14/2287308.html,如需转载请自行联系原作者
目录
相关文章
|
存储 Oracle 关系型数据库
Oracle存储过程插入临时表优化与慢查询解决方法
优化是一个循序渐进的过程,就像雕刻一座雕像,需要不断地打磨和细化。所以,耐心一点,一步步试验这些方法,最终你将看到那个让你的临时表插入操作如同行云流水、快如闪电的美丽时刻。
618 14
|
JSON C# 数据格式
【Azure Function】C#独立工作模式下参数类型 ServiceBusReceivedMessage 无法正常工作
Cannot convert input parameter 'message' to type 'Azure.Messaging.ServiceBus.ServiceBusReceivedMessage' from type 'System.String'.
384 73
|
SQL Oracle 关系型数据库
Oracle的cursor_sharing参数详解
总的来说,cursor_sharing参数是一个非常重要的参数,它可以影响Oracle数据库的性能和稳定性。因此,我们需要根据我们的应用程序的特性和需求,以及我们的性能和稳定性的需求,来选择最合适的值。
587 23
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
488 1
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
290 3
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
436 2
C# 可空类型(Nullable)
C# 单问号 ? 与 双问号 ??
312 12
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
1101 0
|
编译器 C#
c# - 运算符<<不能应用于long和long类型的操作数
在C#中,左移运算符的第二个操作数必须是 `int`类型,因此需要将 `long`类型的位移计数显式转换为 `int`类型。这种转换需要注意数据丢失和负值处理的问题。通过本文的详细说明和示例代码,相信可以帮助你在实际开发中正确使用左移运算符。
436 0
|
开发框架 .NET 编译器
C# 中的记录(record)类型和类(class)类型对比总结
C# 中的记录(record)类型和类(class)类型对比总结
671 0

推荐镜像

更多