using System;
using System.Configuration;
using System.Data;
using System.Collections;
using Oracle.DataAccess.Client; namespace Cont.DAL.Leave
{
/// <summary>
///Oracle数据库操作帮助类
/// </summary>
public class OracleHelper
{
//从配置文件中读取配置好的连接字符串
private static OracleConnection conn = new OracleConnection(ConfigurationManager.ConnectionStrings["conn"].ToString());
private static OracleTransaction tran = null; /// <summary>
/// 返回受影响的行数
/// </summary>
/// <param name="sql">sql语句</param>
/// <returns></returns>
public static int NonQuery(string sql)
{
try
{
OracleCommand cmd = new OracleCommand(sql, conn);
int i = cmd.ExecuteNonQuery();
return i;//将受影响的行数返回
}
catch (Exception se)
{
throw se;
} }
/// <summary>
/// 返回一个临时表数据,一般执行显示表中多条数据操作 select
/// </summary>
/// <param name="sql">要执行的查询sql语句</param>
/// <returns>返回一个DataTable</returns>
public static DataTable GetTable(string sql)
{
try
{
conn.Open();
OracleDataAdapter sda = new OracleDataAdapter(sql, conn);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}
catch (Exception se)
{
throw se;
}
finally
{
conn.Close();
} }
/// <summary>
/// 执行查询操作,返回一个结果集
/// </summary>
/// <param name="sql">要执行的sql语句</param>
/// <returns>返回一个读取器</returns>
public static OracleDataReader Reader(string sql)
{
try
{
conn.Open();
OracleCommand cmd = new OracleCommand(sql, conn);
OracleDataReader sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);//读取器和数据源此处不能被关闭
return sdr;
}
catch (Exception se)
{
throw se;
}
}
/// <summary>
/// 执行查询操作,返回一个单值,一般执行根据名称找编号或执行聚合函数
/// </summary>
/// <param name="sql">要执行的sql查询语句</param>
/// <returns>返回一个object类型</returns>
public static object Scalar(string sql)
{
try
{
conn.Open();
OracleCommand cmd = new OracleCommand(sql, conn);
object obj = cmd.ExecuteScalar();
return obj;
}
catch (Exception se)
{
throw se;
}
finally
{
conn.Close();
}
} /// <summary>
///开始事务
/// </summary>
public static void BeginTran()
{
conn.Open();
tran = conn.BeginTransaction();
} /// <summary>
/// 提交事务
/// </summary>
public static void CommitTran()
{
tran.Commit();
tran.Dispose();
conn.Close();
tran = null;
} /// <summary>
/// 回滚
/// </summary>
public static void RollbackTran()
{
tran.Rollback();
tran.Dispose();
conn.Close();
tran = null;
}
}
}

oracleHelper 操作帮助类的更多相关文章

  1. XML格式示例 与 XML操作(读取)类封装

    header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...

  2. 简洁的PHP操作SQLite类

    SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了. ...

  3. C#工具类:Json操作帮助类(转载)

    原文转载自C#工具类:Json操作帮助类_IT技术小趣屋. Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来 ...

  4. 【转载】C#工具类:Json操作帮助类

    Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来简化相应的操作,该工具类中包含以下功能:对象转JSON.数据 ...

  5. 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类

    在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...

  6. Java反射机制demo(六)—获得并操作一个类的属性

    Java反射机制demo(六)—获得并操作一个类的属性 获得并操作一个类的属性?! 不可思议啊,一个类的属性一般都是私有成员变量啊,private修饰符啊! 但是毫无疑问,这些东西在Java的反射机制 ...

  7. 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  8. 五 Django框架,models.py模块,数据库操作——表类容的增删改查

    Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...

  9. Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类

    该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...

随机推荐

  1. MySQL--当mysqldump --single-transaction遇到alter table(1)

    部分生产环境采用mysqldump --single-transaction的方式在夜间进行数据库备份,而同事恰好在备份期间执行了alter table操作,操作部分成功部分失败,为啥呢? ##=== ...

  2. 利用CPaintDC::IntersectClipRect将绘图限制在局部区域

    问题背景:画带坐标的图,例如 画里面那条曲线的时候,希望将绘图区域局限在坐标范围内,范围外的就自动屏蔽掉. 两个方案,一是用CPaintDC的SelectClipRgn函数,感觉略麻烦.另一个函数,就 ...

  3. 将Azure计算机视觉添加到Xamarin应用程序简单体验

    微软Azure提供了大量的AI及机器学习功能,可以通过简单的RestAPI调用. 关于此文中提到的Azure计算机视觉,可查看此链接的详细介绍. 通过微软的服务,只需要几行代码即可使用计算机视觉中的 ...

  4. DotNetCore依赖注入实现批量注入

    文章转载自平娃子(QQ:273206491):http://os.pingwazi.cn/resource/batchinjectservice 一.依赖注入 通过依赖注入,可以实现接口与实现类的松耦 ...

  5. 【BZOJ3551】 [ONTAK2010]Peaks加强版

    BZOJ3551 [ONTAK2010]Peaks加强版 Solution Kruscal重构树后发现可以对于小于的离散化然后倍增+主席树找到上一个的可行解. 然后就可以了. 如果数组开的不好,容易在 ...

  6. 暴破助攻提权:ruadmin

    i春秋作家:yangyangwithgnu 1 缘由 千辛万苦拿下的 webshell 不是 www-data 用户就是 networkservice 权限,要想拓展攻击面.扩大战果,提权,是必经之路 ...

  7. JAVA虚拟机体系结构JAVA虚拟机的生命周期

    一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.如果同一台计算机上同时运行三个Jav ...

  8. UI的设计,适配器,以及RecyclerView无法加载的解决办法

    这本书里讲到的界面设计都是用最基本的方式实现的,即编写xml文件 所有的控件都具有宽度和高度属性,即android:layout_width和android:layout_height,这两个属性对应 ...

  9. Vue2.5开发去哪儿网App 城市列表开发

     一,城市选择页面路由配置                                                                                        ...

  10. github 最新项目快报

    http://www.open-open.com/github/view/github2016-10-17.html