我们来自五湖四海,不为别的,只因有共同的爱好,为中国互联网发展出一分力!
领航时时彩重庆版

时时彩四星转五星:C#中使用Oracle 存储过程笔记

2014年05月09日22:06 阅读: 32909 次

领航时时彩重庆版 www.9nwl5.cn 标签: C#中使用Oracle 存储过程笔记

 调用包含out/ in out类型参数的存储过程

存储过程:

CREATE OR REPLACE PROCEDURE "SITE_EDITSITEDATAEXIST"  

 (id_ number,

name_ varchar2,

httpRoot_ varchar2,

flag out integer )//out 只具备输出功能 in out 为输入/输出型

as

tempNum integer;

begin 

    flag:=0;

    select count(id) into tempNum  from WebSite_Info where Name = name_ and ID<>id_;

  

    if tempNum > 0 then  

        flag:=3;   

    end if;

    select count(id) into tempNum  from WebSite_Info where HttpRoot = HttpRoot_ and ID<>id_;

  

    if tempNum > 0 then  

        flag:=4;   

    end if; 

   

commit;

end ;

/

调用方法:

 

OracleParameter retPar = new OracleParameter(“channelId”, OracleType.Number);

    retPar.Direction = ParameterDirection.Output;//此处和存储过程中的类型匹配

//如果为in out 类型 此处应声//明InputOutput

OracleParameter[] param = new OracleParameter[ 2 ]

{

      new OracleParameter(“subjectId”, OracleType.VarChar, 60)

  };       

param[ 0 ].Value = 0;

 

OracleHelper.ExecuteReader( OracleHelper.CONN_STRING_BASE, CommandType.StoredProcedure,

"site_EditSiteDataExist" ,param);

//有返回值时必须使用ExecuteReader方法

                object val = param[ 3 ].Value;           

        return int.Parse( val.ToString() );

 

 

2.         存储过程返回记录集

存储过程必须写在包中,再调用.

包的写法:

CREATE OR REPLACE PACKAGE pkg_cms

AS

    TYPE myrctype IS REF CURSOR; 

  

    PROCEDURE site_GetSiteData(Id_ number, p_rc OUT myrctype);

   

END pkg_cms;

/

CREATE OR REPLACE PACKAGE BODY pkg_cms

AS

    PROCEDURE site_GetSiteData(Id_ number,p_rc OUT myrctype)

    IS       

    BEGIN       

          OPEN p_rc FOR

            Select  Id, Name, Url, Folder_Name, Desccms, Char_Name,

            DB_Address, DB_User, DB_Password, DB_Name, DB_ConnString, HttpRoot

            From WebSite_Info

            WHERE id=Id_;  

    END site_GetSiteData;         

 END pkg_cms;

/

 

调用:

                     OracleParameter[] param = new OracleParameter[ 2 ]

                {                                                      

                    new OracleParameter(PARM_ID_, OracleType.Number, 8),

new OracleParameter("p_rc", OracleType.Cursor, 2000, ParameterDirection.Output, true, 0, 0, "",DataRowVersion.Default, Convert.DBNull)//此处为包体中声明的游标类型

};

param[ 0 ].Value = siteID;

 

return OracleHelper.ExecuteReader(OracleHelper.CONN_STRING_BASE, CommandType.StoredProcedure,"pkg_cms.site_GetSiteData", param);

//调用时候先写包名

 

 

3.         Oracle存储过程中其它的方法

字符串操作

       INSTR(STR,Maker)//取字符串中字符的位置

       SUBStr(str,beginnum,len)//取子串

       To_char()//将数字转到字符串

       ||  //拼串   相当于+ 号

       LENGTH(Oldword) //取字符串长度

时间类

    to_date('dateStr','YYYY-Mi-DD')//字符串转成date型”’YYYY-MM-DD’”

    Date1-date2=天数

分享到: 更多
©2019 安全焦点 版权所有.

  • 高校“双一流”建设:从美国高校看“四个回归” 2019-06-21
  • 【新时代幸福美丽新边疆】美图赏析:大自然的“奥秘” 2019-06-09
  • 北京百子湾车祸致2死3伤 小客车女司机系无证驾驶 2019-06-09
  • 蔬菜-热门标签-华商生活 2019-06-04
  • 出生打满分 8斤宝宝为何测不出血糖? 2019-06-04
  • 报道新闻记录历史 70载人民日报见证中国发展大事 2019-06-01
  • 习近平两会“典”亮新时代 2019-05-31
  • 马克思报刊批判的理性光辉 2019-05-26
  • “福泽潇湘·共同见证”爱心彩民参与福彩公益金资助项目 2019-05-24
  • 打造“重庆造”的创新升级版 2019-05-24
  • 平昌冬奥会冠军武大靖低调回家乡利辛探亲祭祖 2019-05-21
  • 打房主分房子,而必逼成! 2019-05-21
  • 让人才如“夏花般灿烂” 2019-05-19
  • 湖北治理违规提取公积金 防止用公积金炒房 2019-05-14
  • 2018“文化和自然遗产日”非遗影像展:电影《侗族大歌》观众流泪观影——晋中频道 2019-05-11
  • 河南快3未出号统计sos德国 江西时时彩快3 六合彩分析软件 华东15选5开奖结果fl 最新足彩6场半全场 广东时时彩后庄177亿 快乐12前三组选技巧 二分彩app 京东彩票28是真的吗 浙江快乐12开奖号码查询结果 篮彩胜分差盘口怎么看 5粒复式三中二中3个 陕西快乐十分直播 彩票赚钱最快方法 天津快乐10分体育彩票开奖结果