Oracle数据库连接C#

Oracle数据库连接C#

 

Ø  Oracle在c#中的一般查询

//Oracle中的一般查询

using(OracleConnection conn=newOracleConnection("server=.;uid=system;pwd=123456;datasource=orcl;"))

            {

                conn.Open();

 

                stringsql= "select * from scott.emp";

 

                OracleCommandcmd= new OracleCommand(sql,conn);

 

                //读取数据

                OracleDataReaderorcl=cmd.ExecuteReader();

                //循环输出

                while(orcl.Read())

                {

                    Console.WriteLine("工作:"+orcl[1]+",工资:"+orcl[2]);

                }

}

Console.ReadLine();

 

 

 

Ø  Oracle创建存储过程

createorreplaceprocedure proc_orcl(pename nvarchar2,pjob outnvarchar2,psal outint)

is

begin

  select job,sal into pjob,psal from scott.emp where ename=pename;

end;

 

在Oracle数据库里面调用存储过程:

declare pjob nvarchar2(64);

        psal int;

begin

  proc_orcl('SCOTT',pjob,psal);

  dbms_output.put_line('工作:'||pjob||',工资'||psal);

end;

 

 

Ø  要在c#中使用Oracle步骤:

 

1.      引入命名空间前需要手动添加Oracle引用。

 

2.      需要引入命名空间:usingSystem.Data.OracleClient;

 

3.     打开服务器:OracleOraDb11g_home1TNSListener

 

 

4.在存储过程中的代码:

        staticvoidMain(string[] args)

        {

            //接受需要查询的用户

            Console.WriteLine("请输入您要查询的员工:");

            stringename= Console.ReadLine();

 

            //c#Oracle使用存储过程查询

            using(OracleConnection conn = newOracleConnection("server=.;uid=system;pwd=123456;datasource=orcl;"))

            {

               conn.Open();

 

               //提供存储过程的名称

               OracleCommand cmd= new OracleCommand("proc_orcl", conn);

              

               //设置查询为存储过程

               cmd.CommandType= System.Data.CommandType.StoredProcedure;

 

               //给存储过程提供参数(输入参数)

               cmd.Parameters.Add(new OracleParameter("pename",ename));

 

               //输出参数

               OracleParameter pjob= new OracleParameter("pjob",OracleType.NVarChar,64);

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

 

               OracleParameter psal= new OracleParameter("psal", OracleType.Int32);

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

 

               //添加存储过程输出参数的值

               cmd.Parameters.Add(pjob);

               cmd.Parameters.Add(psal);

 

               //返回受影响的行数

               int count=cmd.ExecuteNonQuery();

 

               //输出值

               Console.WriteLine("工作:"+pjob.Value+",工资:"+psal.Value);

            }

            Console.ReadLine();

        }

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值