oracleHelper 操作帮助类
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 操作帮助类相关推荐
- C#(asp.net)对字符串的操作公共类(StringUtil.cs)
C#(asp.net)对字符串的操作公共类(StringUtil.cs) 我们在做项目时会需要对字符串进行特殊处理,以下提供C#(asp.net)对字符串的操作公共类,直接复制以下代码到新建cs文件S ...
- 【Android 逆向】Android 逆向通用工具开发 ( 静态库项目中的网络操作核心类 CNetwork 分析 )
文章目录 一.adabingo 静态库项目中的网络操作核心类 CNetwork 分析 一.adabingo 静态库项目中的网络操作核心类 CNetwork 分析 CNetwork 相关方法分析 : 等 ...
- 线程间定制化调用通信—— 1 高内聚低耦合的前提下,线程操作资源类 2 判断/干活/通知 3 多线程交互中,必须要防止多线程的虚假唤醒,也即(判断只用while,不能用if)
生产者与消费者模式 一个生产者与一个消费者 题目:现在有两个线程,可以操作初始值为0的一个变量,实现一个线程对该变量加1,另一个线程对该变量减1,这两个线程的操作加一.减一交替,进行10轮,变量的初始 ...
- php高性能sqllite,简洁的PHP操作SQLite类
原标题:简洁的PHP操作SQLite类 如果有文章推荐,或者你们要看什么的技术文章,请在留言处留言,感谢支持 SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式 ...
- 封装SQLDMO操作的类
封装SQLDMO操作的类,能完成常用的SQL Server 2000管理工作. 使用前请添加 "Microsoft SQLDMO Object Library" COM 引用. 有 ...
- php文本教学,php中文本操作的类
给大家一个简单的文本操作的类. 我以前写的,不过一直都没机会用了,文本不如数据库.数据是以行保存的,以\n结尾,注意你输入的数据必须以"\n"结尾的,这是几个最基本的类成员,文本的 ...
- PHP操作excel类 PHPExcel
PHP操作excel类 PHPExcel http://www.cr173.com/soft/40741.html 我的微云:http://share.weiyun.com/2db79f1438f ...
- php excel 设置常规_php实现的操作excel类详解
本文实例讲述了php实现的操作excel类.分享给大家供大家参考,具体如下: class Excel { static $instance=null; private $excel=null; pri ...
- 【博主推荐】Python 基于Xlwings、Openpyxl自己重新封装Python操作Excel类
1.简介:Python操作Excel,常用Xlwings.Openpyxl类,由于其知识琐碎,使用起来不太方便,因此自己把常用用法重新封装一个操作类. 2.应用场景:使用Python操作Excel,读 ...
最新文章
- 如果有一天 Pytorch / Tensorflow 不开源了,我们该怎么办?
- c3p0获取连接Connection后的Close()---释疑
- Spanning Tree with Maximum Degree
- 《百面机器学习算法工程师带你去面试》资料学习
- 冒泡排序,选择排序,插入排序
- SpringBoot2.1.5 (24): @SpringBootTest单元测试
- python qt5 数据改变 触发信号_pyqt5 使用 QTimer, QThread, pyqtSignal 实现自动执行,多线程,自定义信号触发。...
- 数据库设计—图书管理数据库系统设计
- 安装解锁网易云音乐 unblockneteasemusic 三种方法
- 微信小程序开发者工具提示“网络连接失败”
- 关于泛型中包含级联的List转化为json数据的处理
- python selenium下载电子书
- STM32的一个通用定时器理论上可以当做N个来用
- 云计算机房之间消防通道,商场的消防通道该怎么设计才合理?
- 22 个鲜为人知的 CSS 高招让你技高一筹
- 求凸五边形面积(根据顶点求法)
- Nt系列函数与Zw系列函数的关系
- 湖师大2022考研复试准备
- Matlab 关联文件
- 通证网教育:一建真题作用很大,也要区别对待