首页 > 代码库 > 使用ADO.NET操作Oracle数据库
使用ADO.NET操作Oracle数据库
本文将示例使用C#的ADO.NET技术调用Oralce的存储过程和函数及操作Oracle数据库。
在oracle的hr数据库中建立存储过程
在oralce的hr数据库中建立函数
新建控制台项目,在主函数添加代码:
1 string strConn = "Data Source=jayjay;User ID=hr;Password=oracle;Unicode=True"; 2 3 //调用存储过程 4 using (OracleConnection conn = new OracleConnection(strConn)) 5 { 6 conn.Open(); 7 using (OracleCommand cmd = new OracleCommand("INSERT_PROCEDURE", conn)) 8 { 9 cmd.CommandType = CommandType.StoredProcedure;10 cmd.ExecuteNonQuery();11 }12 }13 //显示调用存储过程后的数据14 using (OracleConnection conn = new OracleConnection(strConn))15 {16 conn.Open();17 using (OracleCommand cmd = new OracleCommand("select * from Jobs where JOB_ID=‘MY_JOB‘", conn))18 {19 cmd.CommandType = CommandType.Text;20 OracleDataAdapter adapter = new OracleDataAdapter(cmd);21 DataSet dataSet = new DataSet();22 adapter.Fill(dataSet);//执行cmd.ExecuteReader();并将结果添加到DataSet容器中23 DataRow row = dataSet.Tables[0].Rows[0];24 Console.WriteLine("执行select * from Jobs where JOB_ID=MY_JOB之后得到的信息:");25 for(int i =0 ;i<4;i++)26 {27 Console.WriteLine(row[i]);28 }29 }30 }31 32 //调用函数33 using (OracleConnection conn = new OracleConnection(strConn))34 {35 conn.Open();36 using (OracleCommand cmd = new OracleCommand("UPDATE_MIN_SALARY", conn))37 {38 cmd.CommandType = CommandType.StoredProcedure;39 40 // 将参数类型设置为 返回值类型41 OracleParameter parameter = new OracleParameter();42 parameter.Direction = ParameterDirection.ReturnValue;43 parameter.OracleType = OracleType.Int32;44 cmd.Parameters.Add(parameter);45 46 cmd.ExecuteNonQuery();47 Console.WriteLine("受影响的行数为:" + parameter.Value);48 }49 }50 51 //显示调用函数后的数据52 using (OracleConnection conn = new OracleConnection(strConn))53 {54 conn.Open();55 using (OracleCommand cmd = new OracleCommand("select * from Jobs where MIN_SALARY=4000", conn))56 {57 cmd.CommandType = CommandType.Text;58 OracleDataAdapter adapter = new OracleDataAdapter(cmd);59 DataSet dataSet = new DataSet();60 adapter.Fill(dataSet);61 62 Console.WriteLine("执行select * from Jobs where MIN_SALARY=4000之后得到的行数:" + dataSet.Tables[0].Rows.Count); 63 }64 }65 66 Console.ReadKey();67 }
ps:由于使用的是32位的老版本oracle 10g,所以项目的目标平台要改为x86,即32位平台,不然conn.open();会报错!
使用ADO.NET操作Oracle数据库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。