zoukankan      html  css  js  c++  java
  • C#调用ORACLE存储过程返回结果集

     

    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];

            }

        }

    }

  • 相关阅读:
    mysql5.7安装
    win10 安装docker
    快速去水印(win10换图3D工具)
    爬虫---国家食品药品监督管理总局
    食品伙伴网爬虫
    驴妈妈旅游爬虫
    天气预测(CNN)
    ConcurrentDictionary线程不安全么,你难道没疑惑,你难道弄懂了么?
    C#线程篇---线程池如何管理线程(6完结篇)
    C#线程篇---Task(任务)和线程池不得不说的秘密(5)
  • 原文地址:https://www.cnblogs.com/lgzslf/p/1278469.html
Copyright © 2011-2022 走看看