1 using System;
  2 using System.Configuration;
  3 using System.Data;
  4 using System.Collections;
  5 using Oracle.DataAccess.Client;
  6
  7 namespace Cont.DAL.Leave
  8 {
  9     /// <summary>
 10     ///Oracle数据库操作帮助类
 11     /// </summary>
 12     public class OracleHelper
 13     {
 14         //从配置文件中读取配置好的连接字符串
 15         private static  OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["conn"].ToString());
 16         private static OracleTransaction tran = null;
 17
 18         /// <summary>
 19         /// 返回受影响的行数
 20         /// </summary>
 21         /// <param name="sql">sql语句</param>
 22         /// <returns></returns>
 23         public static int NonQuery(string sql)
 24         {
 25             try
 26             {
 27                 OracleCommand cmd = new OracleCommand(sql, conn);
 28                 int i = cmd.ExecuteNonQuery();
 29                 return i;//将受影响的行数返回
 30             }
 31             catch (Exception se)
 32             {
 33                 throw se;
 34             }
 35
 36         }
 37         /// <summary>
 38         /// 返回一个临时表数据,一般执行显示表中多条数据操作  select
 39         /// </summary>
 40         /// <param name="sql">要执行的查询sql语句</param>
 41         /// <returns>返回一个DataTable</returns>
 42         public static DataTable GetTable(string sql)
 43         {
 44             try
 45             {
 46                 conn.Open();
 47                 OracleDataAdapter sda = new OracleDataAdapter(sql, conn);
 48                 DataTable dt = new DataTable();
 49                 sda.Fill(dt);
 50                 return dt;
 51             }
 52             catch (Exception se)
 53             {
 54                 throw se;
 55             }
 56             finally
 57             {
 58                 conn.Close();
 59             }
 60
 61         }
 62         /// <summary>
 63         /// 执行查询操作,返回一个结果集
 64         /// </summary>
 65         /// <param name="sql">要执行的sql语句</param>
 66         /// <returns>返回一个读取器</returns>
 67         public static OracleDataReader Reader(string sql)
 68         {
 69             try
 70             {
 71                 conn.Open();
 72                 OracleCommand cmd = new OracleCommand(sql, conn);
 73                 OracleDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//读取器和数据源此处不能被关闭
 74                 return sdr;
 75             }
 76             catch (Exception se)
 77             {
 78                 throw se;
 79             }
 80         }
 81         /// <summary>
 82         /// 执行查询操作,返回一个单值,一般执行根据名称找编号或执行聚合函数
 83         /// </summary>
 84         /// <param name="sql">要执行的sql查询语句</param>
 85         /// <returns>返回一个object类型</returns>
 86         public static object Scalar(string sql)
 87         {
 88             try
 89             {
 90                 conn.Open();
 91                 OracleCommand cmd = new OracleCommand(sql, conn);
 92                 object obj = cmd.ExecuteScalar();
 93                 return obj;
 94             }
 95             catch (Exception se)
 96             {
 97                 throw se;
 98             }
 99             finally
100             {
101                 conn.Close();
102             }
103         }
104
105         /// <summary>
106         ///开始事务
107         /// </summary>
108         public static void BeginTran()
109         {
110             conn.Open();
111             tran = conn.BeginTransaction();
112         }
113
114         /// <summary>
115         /// 提交事务
116         /// </summary>
117         public static void CommitTran()
118         {
119             tran.Commit();
120             tran.Dispose();
121             conn.Close();
122             tran = null;
123         }
124
125         /// <summary>
126         /// 回滚
127         /// </summary>
128         public static void RollbackTran()
129         {
130             tran.Rollback();
131             tran.Dispose();
132             conn.Close();
133             tran = null;
134         }
135     }
136 }

View Code

转载于:https://www.cnblogs.com/pxkuan/p/9252513.html

oracleHelper 操作帮助类相关推荐

  1. C#(asp.net)对字符串的操作公共类(StringUtil.cs)

    C#(asp.net)对字符串的操作公共类(StringUtil.cs) 我们在做项目时会需要对字符串进行特殊处理,以下提供C#(asp.net)对字符串的操作公共类,直接复制以下代码到新建cs文件S ...

  2. 【Android 逆向】Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )

    文章目录 一.adabingo 静态库项目中的网络操作核心类 CNetwork 分析 一.adabingo 静态库项目中的网络操作核心类 CNetwork 分析 CNetwork 相关方法分析 : 等 ...

  3. 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)

    生产者与消费者模式 一个生产者与一个消费者 题目:现在有两个线程,可以操作初始值为0的一个变量,实现一个线程对该变量加1,另一个线程对该变量减1,这两个线程的操作加一.减一交替,进行10轮,变量的初始 ...

  4. php高性能sqllite,简洁的PHP操作SQLite类

    原标题:简洁的PHP操作SQLite类 如果有文章推荐,或者你们要看什么的技术文章,请在留言处留言,感谢支持 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式 ...

  5. 封装SQLDMO操作的类

    封装SQLDMO操作的类,能完成常用的SQL Server 2000管理工作. 使用前请添加 "Microsoft SQLDMO Object Library" COM 引用. 有 ...

  6. php文本教学,php中文本操作的类

    给大家一个简单的文本操作的类. 我以前写的,不过一直都没机会用了,文本不如数据库.数据是以行保存的,以\n结尾,注意你输入的数据必须以"\n"结尾的,这是几个最基本的类成员,文本的 ...

  7. PHP操作excel类 PHPExcel

    PHP操作excel类 PHPExcel http://www.cr173.com/soft/40741.html   我的微云:http://share.weiyun.com/2db79f1438f ...

  8. php excel 设置常规_php实现的操作excel类详解

    本文实例讲述了php实现的操作excel类.分享给大家供大家参考,具体如下: class Excel { static $instance=null; private $excel=null; pri ...

  9. 【博主推荐】Python 基于Xlwings、Openpyxl自己重新封装Python操作Excel类

    1.简介:Python操作Excel,常用Xlwings.Openpyxl类,由于其知识琐碎,使用起来不太方便,因此自己把常用用法重新封装一个操作类. 2.应用场景:使用Python操作Excel,读 ...

最新文章

  1. 如果有一天 Pytorch / Tensorflow 不开源了,我们该怎么办?
  2. c3p0获取连接Connection后的Close()---释疑
  3. Spanning Tree with Maximum Degree
  4. 《百面机器学习算法工程师带你去面试》资料学习
  5. 冒泡排序,选择排序,插入排序
  6. SpringBoot2.1.5 (24): @SpringBootTest单元测试
  7. python qt5 数据改变 触发信号_pyqt5 使用 QTimer, QThread, pyqtSignal 实现自动执行,多线程,自定义信号触发。...
  8. 数据库设计—图书管理数据库系统设计
  9. 安装解锁网易云音乐 unblockneteasemusic 三种方法
  10. 微信小程序开发者工具提示“网络连接失败”
  11. 关于泛型中包含级联的List转化为json数据的处理
  12. python selenium下载电子书
  13. STM32的一个通用定时器理论上可以当做N个来用
  14. 云计算机房之间消防通道,商场的消防通道该怎么设计才合理?
  15. 22 个鲜为人知的 CSS 高招让你技高一筹
  16. 求凸五边形面积(根据顶点求法)
  17. Nt系列函数与Zw系列函数的关系
  18. 湖师大2022考研复试准备
  19. Matlab 关联文件
  20. 通证网教育:一建真题作用很大,也要区别对待

热门文章

  1. Dockerfile springboot项目拿走即用,将yml配置文件从外部挂入容器
  2. pom文件中引入常用的maven仓库
  3. do还是doing imagine加to_中学必背英语短语集合:54个doing动名词的固定搭配
  4. README 规范和项目文档规范
  5. 2018年终总结:自由而独立
  6. Python List extend()方法
  7. OpenCV读写视频文件解析(二)
  8. Caffe框架GPU与MLU计算结果不一致请问如何调试?
  9. CVPR2020论文解读:手绘草图卷积网络语义分割
  10. Python:尝试对知乎网验证码进行处理