oracleHelper 操作帮助类
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 操作帮助类的更多相关文章
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- 简洁的PHP操作SQLite类
SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了. ...
- C#工具类:Json操作帮助类(转载)
原文转载自C#工具类:Json操作帮助类_IT技术小趣屋. Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来 ...
- 【转载】C#工具类:Json操作帮助类
Json序列化和反序列化在程序开发中时常会遇到,在C#中可以使用很多种方法实现对数据的Json序列化和反序列化,封装一个Json操作工具类来简化相应的操作,该工具类中包含以下功能:对象转JSON.数据 ...
- 【转载】微软官方提供的Sqlserver数据库操作帮助类SQLHelper类
在.NET平台中,C#语言一般使用ADO.NET组件来操作Sqlserver数据库,通过ADO.NET组件可以实现连接数据库.查询数据集.执行SQL语句以及关闭数据库连接等操作,为此网上有很多开发者自 ...
- Java反射机制demo(六)—获得并操作一个类的属性
Java反射机制demo(六)—获得并操作一个类的属性 获得并操作一个类的属性?! 不可思议啊,一个类的属性一般都是私有成员变量啊,private修饰符啊! 但是毫无疑问,这些东西在Java的反射机制 ...
- 第三百零七节,Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
- 五 Django框架,models.py模块,数据库操作——表类容的增删改查
Django框架,models.py模块,数据库操作——表类容的增删改查 增加数据 create()方法,增加数据 save()方法,写入数据 第一种方式 表类名称(字段=值) 需要save()方法, ...
- Jave工具——servlet+jsp编程中mysql数据库连接及操作通用工具类
该工具类是在JavaWeb中连接mysql所用到的通用工具类 该类用于Java+Servlet的编程中,方便数据库的操作,连接,获取其列表值.下面是这个数据库操作类的通用方法,基本上能够用于类里面只含 ...
随机推荐
- socket粗解
百度定义:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. Socket通信流程: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一 ...
- 简单理解 OAuth 2.0 及资料收集,IdentityServer4 部分源码解析
简单理解 OAuth 2.0 及资料收集,IdentityServer4 部分源码解析 虽然经常用 OAuth 2.0,但是原理却不曾了解,印象里觉得很简单,请求跳来跳去,今天看完相关介绍,就来捋一捋 ...
- C++获取本机IP地址信息
#include<winsock2.h> #include<iostream> #include<string> using namespace std; #pra ...
- 回车符与换行符问题——C语言
回车符(carriage return,’\r’)与换行符 (line feed,’\n’) 从上面可以看出换行对应的ASCII码值是10,回车符对应的ASCII码值是13,需要注意的是用户按下回车键 ...
- [海外干货] BlackHat 2017 首日议题的所有 PPT以及材料
今年是 Black Hat 举办的第 20 个年头,高温酷暑也挡不住全世界黑客和安全人员奔赴拉斯维加斯的热情.毕竟这可是一年一度的盛大狂欢啊.今年的 BHUSA 从美国东部时间时间 7 月 22 日( ...
- javaweb项目中的过滤器的使用
翻阅博客园的的时候,看到两篇关于javaweb过滤器的帖子写的很好,这里备忘一下: 过滤器基础:http://www.cnblogs.com/xdp-gacl/p/3948353.html 获取器案例 ...
- 组件基础(插槽slot)—Vue学习笔记
刚开始我们淡淡提过<slot></slot>现在深入了解一下. slot可以进行父组件传值到子组件. 比如:我们将hiboy通过<slot>传递到组件中. < ...
- [LeetCode]138复制带随机指针的链表
题目描述: 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点. 要求返回这个链表的深度拷贝. 思路: 先遍历链表,将每个节点对应的随机指针指向的对象利用Hash ...
- Flask 微博三方登录
1.进入微博开发平台(https://open.weibo.com/),注册账号,填写开发者信息 2.创建应用.创建应用完成后,可以在"我的应用 - 应用信息"中查看您所创建应用的 ...
- vue教程2-07 微博评论功能
vue教程2-07 微博评论功能 <!doctype html> <html> <head> <meta charset="utf-8"& ...