返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#调用Oracle存储过程方法介绍(附源码)
  • 101
分享到

C#调用Oracle存储过程方法介绍(附源码)

2024-04-02 19:04:59 101人浏览 泡泡鱼
摘要

C#调用oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collect

C#调用oracle存储过程的代码如下所示:

using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.Data.OracleClient;
using System.Drawing;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using System.windows.FORMs;

namespace ExecuteProcByOracle
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Btn_LoadData_Click(object sender, EventArgs e)
        {
            // 存储过程名称
            string strProcName = "usp_yngr_getInfectionCard";
            // 存储过程参数
            OracleParameter[] parameters = {
                                        new OracleParameter("V_BeginTime",OracleType.VarChar),
                                        new OracleParameter("V_EndTime",OracleType.VarChar),
                                        new OracleParameter("V_DateType",OracleType.Number),
                                        new OracleParameter("V_PtName",OracleType.VarChar),
                                        new OracleParameter("V_PtChartNo",OracleType.VarChar),
                                        new OracleParameter("V_DeptCode",OracleType.VarChar),
                                        new OracleParameter("V_CheckedStatus",OracleType.VarChar),
                                        // 返回值的类型是游标类型
                                        new OracleParameter("cur_out",OracleType.Cursor)
                                        };
            // 设置存储过程参数数组的值和参数的类型
            parameters[0].Value = "2017-06-01";
            parameters[0].Direction = ParameterDirection.Input;
            parameters[1].Value = "2017-07-31";
            parameters[1].Direction = ParameterDirection.Input;
            parameters[2].Value = 1;
            parameters[2].Direction = ParameterDirection.Input;
            parameters[3].Value = "";
            parameters[3].Direction = ParameterDirection.Input;
            parameters[4].Value = "";
            parameters[4].Direction = ParameterDirection.Input;
            parameters[5].Value = "";
            parameters[5].Direction = ParameterDirection.Input;
            parameters[6].Value = "1";
            parameters[6].Direction = ParameterDirection.Input;
            parameters[7].Direction = ParameterDirection.Output;

            this.dgv_Demo.DataSource = LoadData(strProcName, parameters);
        }

        private DataTable LoadData(string strProcName, params OracleParameter[] parameters)
        {

            DataTable dt = new DataTable();
            string strConn = ConfigurationManager.ConnectionStrings["HealthHospInfection"].ConnectionString;
            using (OracleConnection conn = new OracleConnection(strConn))
            {
                try
                {

                    OracleCommand cmd = new OracleCommand();
                    cmd.CommandText = strProcName;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Connection = conn;
                    conn.Open();
                    if (parameters != null)
                    {
                        // 添加参数
                        cmd.Parameters.AddRange(parameters);
                    }

                    // 取数据
                    using (OracleDataAdapter adapter = new OracleDataAdapter(cmd))
                    {

                        adapter.Fill(dt);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("错误:" + ex.Message + "/r/n跟踪:" + ex.StackTrace);
                }
                finally
                {
                    conn.Close();
                }
            }

            return dt;
        }
    }
}

示例代码下载地址:点此下载

到此这篇关于C#调用Oracle存储过程的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C#调用Oracle存储过程方法介绍(附源码)

本文链接: https://lsjlt.com/news/141271.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#调用Oracle存储过程方法介绍(附源码)
    C#调用Oracle存储过程的代码如下所示: using System; using System.Collections.Generic; using System.Collect...
    99+
    2024-04-02
  • oracle中print_table存储过程实例介绍
    定义 所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过 编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应...
    99+
    2024-04-02
  • oracle存储过程调用的方法是什么
    在Oracle数据库中,可以使用以下方法来调用存储过程: 使用 PL/SQL 匝中调用存储过程: DECLARE resul...
    99+
    2024-04-02
  • mybatis调用oracle存储过程
    有输入与输出参数的存储过程oracle存储过程部分代码:create or replace procedure PT_copy_Shipment_One_Data(  oldShipmentId ...
    99+
    2024-04-02
  • ORACLE ADF11g: AM 调用存储过程
    图解:完 ...
    99+
    2024-04-02
  • 怎么调用Oracle存储过程
    这篇文章给大家介绍怎么调用Oracle存储过程,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Oracle的存储过程语法如下:create procedure 存储过...
    99+
    2024-04-02
  • oracle怎么调用存储过程
    要调用Oracle存储过程,可以按照以下步骤进行操作:1. 创建存储过程:在Oracle数据库中创建存储过程。可以使用PL/SQL开...
    99+
    2023-08-23
    oracle
  • oracle如何调用存储过程
    要调用Oracle存储过程,可以按照以下步骤进行操作:1. 使用Oracle SQL Developer或其他数据库客户端连接到Or...
    99+
    2023-08-22
    oracle
  • Oracle存储过程Procedure简单介绍(第一部分)
    我们都知道SQL语言是没有判断和过程控制语句的,而PL/SQL又很好的补充了SQL语言这方面的不足。而存储过程也是一种PL/SQL块,但是存储过程又跟传统的PL/SQL块不一样,存储过程是以命名的方式存储于...
    99+
    2024-04-02
  • C#调用WebService的方法介绍
    一、前言 在日常工作中,如果涉及到与第三方进行接口对接,有的会使用WebService的方式,这篇文章主要讲解在.NET Framework中如何调用WebService。首先我们创...
    99+
    2024-04-02
  • PLSQL怎么调用Oracle存储过程
    在PL/SQL中调用Oracle存储过程可以通过使用以下语法: DECLARE <variable_declaration...
    99+
    2024-03-05
    PLSQL Oracle
  • mybatis怎么调用oracle存储过程
    在MyBatis中调用Oracle存储过程可以通过使用select或update语句执行存储过程的方式来实现。以下是一个示例: &l...
    99+
    2024-04-09
    mybatis oracle
  • mysql调试存储过程的方法
    小编给大家分享一下mysql调试存储过程的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!mysql调试存储过程的方法:首先用一张临时表,记录调试过程;然后直接在存储过程中,增加【selec...
    99+
    2024-04-02
  • 用java调用oracle存储过程总结
    本篇内容主要讲解“用java调用oracle存储过程总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“用java调用oracle存储过程总结”吧!用java调用oracle存储过程总结//1、c...
    99+
    2023-06-03
  • MySQL存储过程创建及调用方法
    MySQL存储过程是一个sql语句,那么我们如何创建呢,MySQL存储过程创建及修改,删除操作。 1,存储过程创建 DELIMITER //CREATE PROCEDURE G...
    99+
    2024-04-02
  • EntityFrameworkCore中执行SQL语句和存储过程的方法介绍
    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求。在这篇文章中,我们介绍几种执行SQL的方法。 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构。 ...
    99+
    2024-04-02
  • oracle中创建存储过程,以及存储过程中调用游标
    CREATE OR REPLACE PROCEDURE aa is   CURSOR prodCombind_cur IS SELECT * FROM proddata...
    99+
    2024-04-02
  • C#开发Winform程序调用存储过程
    数据表及数据准备: create table Member ( MemberId int primary key identity(1,1), MemberAccount nva...
    99+
    2024-04-02
  • Mybatis中怎么调用Oracle存储过程
    Mybatis中怎么调用Oracle存储过程,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1:调用无参数的存储过程。创建存储过...
    99+
    2024-04-02
  • Oracle中怎么调用Java存储过程
    这期内容当中小编将会给大家带来有关Oracle中怎么调用Java存储过程,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一、如何创建java存储过程?通常有三种方法来创建java存储过程。1. 使用orac...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作