通行证: 用户 密码
http://www.pconline.cn/
汽车网 | 游戏网 | 时尚女性
分站:北京 上海 广州 深圳 香港
广西 重庆 山东 江苏 辽宁 福建
首 页 | 今日报价 | 产业资讯 | 数码世界 | 硬件资讯 | 软件资讯 | 下 载 | 游 戏 |
论 坛 | 产 品 库 | 渠道商情 | 招聘培训 | 二    手 | 评 测 室 | 导 购 | 社 区 |
摄影
部落
手 机
数码相机
随身听
 DIY配件
笔记本
 台式机
摄像机
精品廊
-
您现在的位置:软件资讯 > 开发特区 > .net技术 > C#
  C#+Oracle开发中执行存储过程问题 出处:csdn
[ 2005-07-22 10:16:12 ] 作者:dinya 责任编辑:moningfeng

3、在.NET项目建一个到数据库的联结:

  在项目中新增加一个类文件。名称:clsPublic,

//添加引用:
using System;
using System.Data;
using System.Data.OleDb;
//连接字符串
private string connectora="Provider=MSDAORA.1;Password=fran;User ID=fran;Data Source=demo;Persist Security Info=True";
//连接Oracle数据库
public OleDbConnection ConnectDB()
{
 try
 {
  OleDbConnection conn=new OleDbConnection();
  conn.ConnectionString=connectora;
  conn.Open();
  return conn;
 }
 catch
 {
  return null;
 }
}



4、在类文件中添加如下内容,用来执行Oracle中的过程:

public int Insert_User_Information(string v_user_login_name,string v_user_password,string v_user_name,string v_user_telephone,int v_user_type,string proc_name)
{
 int i;
 cmdOra.Parameters.Clear();
 cmdOra.CommandText=proc_name;
 cmdOra.CommandType=CommandType.StoredProcedure;
 cmdOra.Connection=new clsPublic().ConnectDB();

 cmdOra.Parameters.Add("p_user_login_name",OleDbType.VarChar);
 cmdOra.Parameters.Add("p_user_password",OleDbType.VarChar);
 cmdOra.Parameters.Add("p_user_name",OleDbType.VarChar);
 cmdOra.Parameters.Add("p_user_telephone",OleDbType.VarChar);
 cmdOra.Parameters.Add("p_user_type",OleDbType.Integer);
 cmdOra.Parameters.Add("p_out",OleDbType.Integer);

 cmdOra.Parameters["p_user_login_name"].Value=v_user_login_name;
 cmdOra.Parameters["p_user_password"].Value=v_user_password;
 cmdOra.Parameters["p_user_name"].Value=v_user_name;
 cmdOra.Parameters["p_user_telephone"].Value=v_user_telephone;
 cmdOra.Parameters["p_user_type"].Value=v_user_type;

 cmdOra.Parameters["p_user_login_name"].Direction=ParameterDirection.Input;
 cmdOra.Parameters["p_user_password"].Direction=ParameterDirection.Input;
 cmdOra.Parameters["p_user_name"].Direction=ParameterDirection.Input;
 cmdOra.Parameters["p_user_telephone"].Direction=ParameterDirection.Input;
 cmdOra.Parameters["p_user_type"].Direction=ParameterDirection.Input;
 cmdOra.Parameters["p_out"].Direction=ParameterDirection.ReturnValue;

 try
 {
  cmdOra.ExecuteNonQuery();
  i=(int)cmdOra.Parameters["p_out"].Value;
 }
 catch
 {
  i=-88;
 }
 finally
 {
  if(cmdOra.Connection.State==ConnectionState.Open)
 {
  cmdOra.Connection.Close();
  cmdOra.Connection.Dispose();
  cmdOra.Parameters.Clear();
  cmdOra.Dispose();
 }
 }
 return i;
}



5、在窗体界面中调用执行存储过程

private void button3_Click_1(object sender, System.EventArgs e)
{
  int i=new clsPublic().Insert_User_Information ("dinya","111","DINYA","13877778888",0, "cux_franchiser.insert_user_information"); MessageBox.Show(i.ToString());
}


  在本例第二步中,定义一个输出参数用来存储执行的结果,Oracle存储过程允许给输出参数直接赋值,在。NET中设置该参数类型:

  cmdOra.Parameters["p_out"].Direction=ParameterDirection.ReturnValue;


  将其设置为返回值,这样在调用Insert_User_Information执行存储过程后,该参数将执行结果返回给用户。

  在第五步窗体界面中调用存储过程的时候,最后一个参数为"cux_franchiser.insert_user_information",该值中cux_franchiser为自己定义的一个包,insert_user_information为包中的过程。(具体对包的使用请参考Oracle相关书籍中有关包的使用一节)。

  其中需要指出的是,用来连接Oracle数据库的联结串会因为OleDB的厂家不同而不同,本例中使用微软的,您在开发过程也可以使用Oracle公司的,可以到Oralce 网站下载,地址:  http://www.oracle.com/technology/software/tech/windows/ole_db/index.html

后记:
  在.NET + Oracle的开发过程,当然还有很多其他的操作技巧,希望本文能够起到抛砖引玉的作用,刚接触开发的读者或Oracle初学者,可以参考本文,举一反三。
天敏贴纸相框设计大赛,千元大奖等你拿!

[上一页] [1] [2]

正在加载评论,请稍候…

发给好友 我要报错 投稿给我们 加入收藏 返回顶部

本栏今日更新
相关文章
·简单过渡,MSN Messenger 7.5测试
·指日可待!微软杀毒OneCare Beta启动
·难得一见!Google装备月球地图
·PC-Cillin 2006将进行Beta测试
·据说是世界上最优秀的20款防火墙
·学生至爱:超级免费小工具挖掘(1)
·表情[搞笑]:倒霉的求爱男
·细述Java技术开发规则--基本篇
·通过oms实现Oracle的数据备份
·ORACLE学习笔记--性能优化
·c#多线程教学(5):Case 学习多线程
·oracle HA应用的方案参考
·通过JDBC连接oracle数据库的十大技巧
·c#多线程教学(4):线程池和异步编程
·sql*plus使用的一些技巧
·c#.net多线程编程教学(3):线程同步

完美时尚娱乐:2004年腾讯QQ评测大观
精彩无限:MSN Shell4使用指南
亲手制作鲜花情人贺卡送给她
挑战伏明霞?企鹅跳水游戏,看你能得多少分?

新闻搜索
高级搜索
Flash排行榜
·头文字D主题曲-漂移
·无情的你!六月的雨
·冒险游戏-小破孩奔月
·南京话说唱!喝馄饨
·斗实力斗技术!篮球斗牛
·《童话》励志鼓励篇
·好玩!超级连连看
·惊险刺激!忍者之死
·搞笑好玩!倒霉机器人
·冒险游戏-金碟神偷
热点专题
·向"流氓软件"大声说不!
·电脑艺术设计大师之路连载
·老歌歪唱Flash MV爆笑欣赏
·2005年XP SP2全新技巧放送
·视频轻松学Dreamweaver教程
·瞩目!QQ2005 Beta1火热发布
·全面了解FireFox浏览器
·情人节感动MM的十首MV
·QQ辅助软件使用指南
·含泪惜别!毕业十大必唱歌曲
·想不到?常用软件的另类用法
·搜索技巧:网罗天下的乐趣
IT培训十大热门文章
-