C#使用oracle数据库的function与procedure

ORACLE段:
首先在ORACLE建立PACKAGE和PACKAGE BODY,将在这里面定义函数和存储过程返回结果集。
1:建立PACKAGE:
CREATE OR REPLACE package SCOTT.pk_wt
is
type mytype is ref cursor;
procedure p_wt(mycs out mytype);
function f_get(str in varchar2)
return varchar2;
end;
/
说明:其实PACKAGE只是个声明罢了。我们在这里定义了一个存储过程返回结集和一个函数,返回字符串。

2:建立PACKAGE BODY:
CREATE OR REPLACE package BODY SCOTT.pk_wt
is
procedure p_wt(mycs out mytype)
is
begin
open mycs for select * from test;
end p_wt;

function f_get(str varchar2)
return varchar2
is
str_temp varchar2(100) := 'good luck!';
begin
str_temp := str_temp || str;
return str_temp;
end f_get;

end pk_wt;
/
说明:这里建立PACKAGE BODY是具体的说明和使用,将采用什么方式实现。。

C#段:
在C#中代码将分为两部分,一部分是使用函数,另外一部分是使用结果集。
定义一个连接,从WEBCONFIG里去取得:
private OracleConnection orcn=new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["scott"]);
C#调用ORACLE函数:
OracleCommand cmd=new OracleCommand("pk_wt.f_get",orcn);
   cmd.CommandType=CommandType.StoredProcedure;
   OracleParameter p1=new OracleParameter("str",OracleType.VarChar,10);
   p1.Direction=System.Data.ParameterDirection.Input;
   p1.Value=this.TextBox1.Text;
   OracleParameter p2=new OracleParameter("result",OracleType.VarChar,100);
   p2.Direction=System.Data.ParameterDirection.ReturnValue;
   cmd.Parameters.Add(p1);
   cmd.Parameters.Add(p2);
   orcn.Open();
   cmd.ExecuteNonQuery();
   orcn.Close();
   this.Button_function.Text=p2.Value.ToString();
其中RESULT是系统自定义的函数返回变量,特别要注意的是,函数的参数的返回类型要指定,另外就是COMMAND类型也需要指定,另外和一般的存储过程没什么差别。

C#调用ORACLE返回结果集:
OracleCommand cmd=new OracleCommand("pk_wt.p_wt",orcn);
   cmd.CommandType=CommandType.StoredProcedure;
   OracleParameter p1=new OracleParameter("mycs",OracleType.Cursor);
   p1.Direction=System.Data.ParameterDirection.Output;
   cmd.Parameters.Add(p1);
   OracleDataAdapter da=new OracleDataAdapter(cmd);
   DataSet ds=new DataSet();
   da.Fill(ds,"test");
   this.DataGrid1.DataSource=ds;
   this.DataGrid1.DataBind();

转载于:https://www.cnblogs.com/chuncn/archive/2009/04/13/1434399.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496421.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信支付PKIX path building failed

异常信息 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification p ath to requested targetat sun.security.ssl…

Nvidia黄仁勋发布了全球最大GPU

来源:凤凰科技花子健摘要:有竞争在,更大的惊喜才有可能会到来。北京时间3月28日凌晨00:00,英伟达GTC 2018(GPU Technology Conference 2018,以下简称GTC)在美国圣何塞举行。英伟达再一次在提升计…

计算机网络(4):网络层

网络层提供的两种服务 虚电路服务(Virtual Circuit Service)和数据报服务(Datagram Service)是在网络层(第三层)提供的两种不同的通信服务。它们主要区别在于建立连接的方式和数据传输的方式。 虚电路服务…

VS通用快捷键:

通用快捷键: 1、自动排版(类似VC6中的AltF8) 编辑.格式化选定内容 Ctrl K,Ctrl F 根据周围的代码行,正确缩进选定的代码行。 2、注释与去掉注释功能。 编辑.注释选定内容 Ctrl K,Ctrl C 使用编程语言的正确注释语法…

指针数组下标JAVA_C语言中下标与指针的转换以及指向指针的指针的例子

下标到指针之间和转换以下的程序做了什么。#include int main(){int a[3][3] {{0, 1, 2}, {3, 4, 5}, {6, 7, 8}};int i 0;int j 0;for(i 0; i<3; i){for(j0; j<3; j){printf("%d\n", *(*(ai)j));}}}打印了数组中的每个元素&#xff1a;指向指针的指针#inc…

windows 下 Graphviz 安装及入门教程以及 PlantUML

From&#xff1a;http://m.blog.csdn.net/lanchunhui/article/details/49472949 开源工具---使用简单的文字描述画UML图之PlantUML官网&#xff1a;http://plantuml.com PlantUML 支持的工具&#xff1a;http://plantuml.com/running PlantUML语言参考手册中文版.pdf&#xff…

GTC2018八大热点:发布多项黑科技,联合芯片巨头ARM打造AI芯片专用IP

来源&#xff1a;人工智能和大数据丨公众号一年一度的GTC至今已经迎来了第十个年头&#xff0c;虽然它每年或多或少的给网友一些“失望”&#xff0c;但它也终究是代表着GPU行业的高水平技术大会。那么&#xff0c;今年的GTC大会&#xff0c;英伟达又给业界带来了哪些惊喜呢&am…

WPF and Silverlight 学习笔记(十二):WPF Panel内容模型、Decorator内容模型及其他...

由于园子里昨天使用Live Writer上传出现问题&#xff0c;昨天只能使用Web上的文本编辑器上传本文&#xff0c;造成代码、内容等格式的错误&#xff0c;现重发本文。 一、Panel内容模型 Panel内容模型指从System.Windows.Controls.Panel继承的控件&#xff0c;这些控件都是容器&…

java点击菜单项文字显示在窗体上_java点击菜单项弹出窗口怎么做啊?

程序如下&#xff0c;可弹不出窗口呀&#xff0c;高手教教我&#xff01;importjava.awt.*;importjava.awt.event.*;publicclassW111extendsFrameimplementsActionListener{MenuBarmbnewMenuBar();//产生一个菜单工具...程序如下&#xff0c;可弹不出窗口呀&#xff0c;高手教教…

Source Insight 教程

From&#xff1a;http://www.cnblogs.com/ningskyer/articles/4038501.html 最经典的Source_Insight完整使用教程&#xff1a;https://wenku.baidu.com/view/6f7dbe87caaedd3382c4d3e4.html Source Insight 使用方法及技巧&#xff1a;https://wenku.baidu.com/view/ddd28da…

GIS最新热点以及未来发展热门

来源&#xff1a;测绘地信、知乎用户测绘小河马GIS是空间技术和信息技术的交叉学科&#xff0c;相关领域的研究热点都有可能成为GIS的发展趋势。GIS的技术环节无外乎数据获取、数据分析、数据呈现三个方面&#xff0c;从近年的发展情况看&#xff0c;GIS可能在这三个方面都有着…

Spring Data JPA 从入门到精通~查询结果的处理

参数选择&#xff08;Sort/Pageable&#xff09;分页和排序 特定类型的参数&#xff0c;Pageable 并动态 Sort 地将分页和排序应用于查询 案例&#xff1a;在查询方法中使用 Pageable、Slice 和 Sort。 Page<User> findByLastname(String lastname, Pageable pageable)…

用C#做短信CMPP2.0/3.0协议 支持扩展号支持物理网卡

此程序为中国移动CMPP协议程序接口&#xff0c;适合在中国移动申请了短信发送端口的公司使用。 短信群发已经成为现在软件系统、网络营销等必不可少的应用工具。可应用在短信验证、信息群发、游戏虚拟商品购买、事件提醒、送祝福等方面。 本程序功能包括&#xff1a; 1、支持Cm…

新算法可模拟人脑整体神经电路

来源&#xff1a;科学网 作者&#xff1a;陈超3月28日&#xff0c;日本理化学研究所日前宣布&#xff0c;他们的一个国际联合研究小组成功开发出模拟人脑整体神经电路的算法&#xff0c;可在下一代超级计算机上应用。新算法不仅节省内存&#xff0c;也能大幅提高现有超级计算机…

Spring Data JPA 从入门到精通~@Query详解

语法及其源码 public interface Query {/*** 指定JPQL的查询语句。&#xff08;nativeQuerytrue的时候&#xff0c;是原生的Sql语句&#xff09;*/String value() default "";/*** 指定count的JPQL语句&#xff0c;如果不指定将根据query自动生成。* &#xff08;如…

Java中的mapreduce没了_MapReduce的过程总结

MapReduce 分为&#xff1a;1) MapTask :1.Read阶段&#xff1a;逻辑切片 128M / Maptask 读数据解析出一个个key/value。2.Map阶段&#xff1a; 把key/value 写入到map中去(处理业务逻辑)3.Collect阶段&#xff1a;将生成的key/value分区(调用Partitioner)排序&#xff0c;并写…

酒桌上的规矩,社会的潜规则

(一)如果自己真不能喝&#xff0c;丫就别开第一口&#xff0c;端着饭碗夹了菜一边吃着去(二)如果确信自己要喝&#xff0c;就别装墨迹&#xff0c;接下来就是规矩了  规矩一&#xff1a;酒桌上虽然“感情深&#xff0c;一口闷&#xff1b;感情浅&#xff0c;舔一舔”但是喝酒…

7个方面读懂6月的5G标准

来源&#xff1a;5G丨公众号作为IMT2020主要的候选技术&#xff0c; 5GNR在3GPP的快马加鞭地统一协调下急速前行&#xff0c;按照计划&#xff0c;今年第一个5G标准会冻结&#xff0c;将为运营商提供一套5G初期部署的可行方案。5GNR 是5G New Radio的简称&#xff0c;是当今通信…

Linux进制查看工具:od、hexdump、xxd

od 命令 &#xff1a;http://man.linuxde.net/od od 命令 od命令用于将指定文件内容以八进制、十进制、十六进制、浮点格式或ASCII编码字符方式显示&#xff0c;通常使用od命令查看特殊格式的文件内容&#xff0c;或者用于显示或查看文件中不能直接显示在终端的字符。 od命令系…

Spring Data JPA 从入门到精通~@Param用法

默认情况下&#xff0c;参数是通过顺序绑定在查询语句上的&#xff0c;这使得查询方法对参数位置的重构容易出错。为了解决这个问题&#xff0c;可以使用 Param 注解指定方法参数的具体名称&#xff0c;通过绑定的参数名字做查询条件&#xff0c;这样不需要关心参数的顺序&…