public abstract class OracleHelper
{
public OracleHelper() { } /// <summary>
/// 数据库连接字符串
/// </summary>
protected static string connectionString = ConfigurationManager.AppSettings["Oracle_BPMS"]; #region 执行简单SQL语句 /// <summary>
/// 执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(string SQLString)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
} /// <summary>
/// 2012-2-21新增重载,执行SQL语句,返回影响的记录数
/// </summary>
/// <param name="connection">SqlConnection对象</param>
/// <param name="trans">SqlTransaction事件</param>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public static int ExecuteSql(OracleConnection connection, OracleTransaction trans, string SQLString)
{
using (OracleCommand cmd = new OracleCommand(SQLString, connection))
{
try
{
cmd.Connection = connection;
cmd.Transaction = trans;
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
trans.Rollback();
throw e;
}
}
} public static int ExecuteSqlByTime(string SQLString, int Times)
{
using (OracleConnection connection = new OracleConnection(connectionString))
{
using (OracleCommand cmd = new OracleCommand(SQLString, connection))
{
try
{
connection.Open();
cmd.CommandTimeout = Times;
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
connection.Close();
throw e;
}
}
}
} /// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(string SQLString)
{ using (OracleConnection connection = new OracleConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
OracleDataAdapter command = new OracleDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds;
} } /// <summary>
/// 2012-2-21新增重载,执行查询语句,返回DataSet
/// </summary>
/// <param name="connection">SqlConnection对象</param>
/// <param name="trans">SqlTransaction事务</param>
/// <param name="SQLString">SQL语句</param>
/// <returns>DataSet</returns>
public static DataSet Query(OracleConnection connection, OracleTransaction trans, string SQLString)
{
DataSet ds = new DataSet();
try
{
OracleDataAdapter command = new OracleDataAdapter(SQLString, connection);
command.SelectCommand.Transaction = trans;
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw new Exception(ex.Message);
}
return ds; } #endregion #region 其他方法
/// <summary>
/// 执行命令,返回受影响的行数
/// </summary>
/// <param name="tran">事务类 </param>
/// <param name="cmdText">操作字符串</param>
/// <param name="parms">sql语句需要的参数</param>
/// <param name="cmdtype">执行类型,是存储过程还是普通sql</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(OracleTransaction tran, string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
int retVal = ;
OracleCommand cmd = new OracleCommand(cmdText);
cmd.Connection = tran.Connection;
cmd.Transaction = tran;
cmd.CommandType = cmdtype;
if (parms != null)
{
cmd.Parameters.AddRange(parms);
}
retVal = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return retVal;
} /// <summary>
/// 执行命令,返回受影响的行数
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
int retVal;
using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = cmdtype; if (parms != null)
{
//添加参数
cmd.Parameters.AddRange(parms);
}
conn.Open();
retVal = cmd.ExecuteNonQuery();
conn.Close();
} return retVal;
} /// <summary>
/// 执行命令, 返回受影响的行数
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="cmdtype"></param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText, CommandType cmdtype)
{
int retVal; using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = cmdtype; conn.Open(); retVal = cmd.ExecuteNonQuery();
conn.Close();
} return retVal;
} /// <summary>
/// 执行命令, 返回受影响的行数
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <returns>返回受影响的行数</returns>
public static int ExecuteNonQuery(string cmdText)
{
int retVal;
using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = CommandType.StoredProcedure; conn.Open();
retVal = cmd.ExecuteNonQuery(); conn.Close();
}
return retVal;
} /// <summary>
/// 执行命令,返回第一行第一列
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回第一行第一列,不存在返回Null</returns>
public static object ExecuteScalar(string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
object retVal; using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = cmdtype; if (parms != null)
{
//添加参数
cmd.Parameters.AddRange(parms);
} conn.Open();
retVal = cmd.ExecuteScalar();
conn.Close();
}
return retVal == DBNull.Value ? null : retVal;
} /// <summary>
/// 执行命令,返回第一行第一列
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回第一行第一列,不存在返回Null</returns>
public static object ExecuteScalar(OracleTransaction tran, string cmdText, OracleParameter[] parms, CommandType cmdtype)
{ object retVal; OracleCommand cmd = new OracleCommand(cmdText);
cmd.Connection = tran.Connection;
cmd.Transaction = tran;
cmd.CommandType = cmdtype;
if (parms != null)
{
//添加参数
cmd.Parameters.AddRange(parms);
} retVal = cmd.ExecuteScalar(); return retVal == DBNull.Value ? null : retVal;
} /// <summary>
/// 执行命令,返回第一行第一列
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回第一行第一列,不存在返回Null</returns>
public static object ExecuteScalar(string cmdText, CommandType cmdtype)
{
object retVal; using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = cmdtype; conn.Open();
retVal = cmd.ExecuteScalar(); conn.Close();
}
return retVal == DBNull.Value ? null : retVal;
} /// <summary>
/// 执行命令,返回第一行第一列
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <returns>返回第一行第一列,不存在返回Null</returns>
public static object ExecuteScalar(string cmdText)
{
object retVal; using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = CommandType.StoredProcedure; conn.Open();
retVal = cmd.ExecuteScalar();
conn.Close();
} return retVal == DBNull.Value ? null : retVal;
} /// <summary>
/// 执行命令,返回一个数据读取器,注意使用完毕后关闭读取器
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回一个数据读取器</returns>
public static OracleDataReader ExecuteReader(string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
OracleDataReader reader; OracleConnection conn = new OracleConnection(connectionString); OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = cmdtype; if (parms != null)
{
//添加参数
cmd.Parameters.AddRange(parms);
} conn.Open();
reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
} /// <summary>
/// 执行命令,返回一个数据读取器,注意使用完毕后关闭读取器
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回一个数据读取器</returns>
public static OracleDataReader ExecuteReader(string cmdText, CommandType cmdtype)
{
OracleDataReader reader; OracleConnection conn = new OracleConnection(connectionString);
OracleCommand cmd = new OracleCommand(cmdText, conn);
cmd.CommandType = cmdtype; conn.Open();
reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
/// <summary>
/// 执行命令,返回DataTable
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回DataTable</returns>
public static DataTable ExecuteDataTable(string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
DataTable dt = new DataTable(); using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = cmdtype; if (parms != null)
{
apt.SelectCommand.Parameters.AddRange(parms);
} apt.Fill(dt);
conn.Close();
}
return dt;
} /// <summary>
/// 执行命令,返回DataSet
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回DataSet</returns>
public static DataSet ExecuteDataSet(string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
DataSet ds = new DataSet(); using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = cmdtype; if (parms != null)
{
apt.SelectCommand.Parameters.AddRange(parms);
} apt.Fill(ds);
conn.Close();
}
return ds;
} /// <summary>
/// 执行命令,返回DataTable
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回DataTable</returns>
public static DataTable ExecuteDataTable(string cmdText, CommandType cmdtype)
{
DataTable dt = new DataTable(); using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = cmdtype;
apt.Fill(dt);
conn.Close();
}
return dt;
} /// <summary>
/// 执行命令,返回DataTable
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <returns>返回DataTable</returns>
public static DataTable ExecuteDataTable(string cmdText)
{
DataTable dt = new DataTable(); using (OracleConnection conn = new OracleConnection(connectionString))
{
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = CommandType.StoredProcedure;
apt.Fill(dt);
conn.Close();
}
return dt;
} /// <summary>
/// 执行命令,返回第一行,不存在返回Null
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="parms">需要的参数</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回第一行,不存在返回Null</returns>
public static DataRow ExecuteFirstRow(string cmdText, OracleParameter[] parms, CommandType cmdtype)
{
DataRow row = null;
using (OracleConnection conn = new OracleConnection(connectionString))
{
DataTable dt = new DataTable();
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = cmdtype; if (parms != null)
{
apt.SelectCommand.Parameters.AddRange(parms);
}
apt.Fill(dt);
if (dt.Rows.Count > )
{
row = dt.Rows[];
}
conn.Close();
}
return row;
} /// <summary>
/// 执行命令,返回第一行,不存在返回Null
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <param name="cmdtype">如何解释命令字符串</param>
/// <returns>返回第一行,不存在返回Null</returns>
public static DataRow ExecuteFirstRow(string cmdText, CommandType cmdtype)
{
DataRow row = null;
using (OracleConnection conn = new OracleConnection(connectionString))
{
DataTable dt = new DataTable();
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = cmdtype;
apt.Fill(dt);
if (dt.Rows.Count > )
{
row = dt.Rows[];
}
conn.Close();
}
return row;
} /// <summary>
/// 执行命令,返回第一行,不存在返回Null
/// </summary>
/// <param name="cmdText">查询的文本</param>
/// <returns>返回第一行,不存在返回Null</returns>
public static DataRow ExecuteFirstRow(string cmdText)
{
DataRow row = null;
using (OracleConnection conn = new OracleConnection(connectionString))
{
DataTable dt = new DataTable();
OracleDataAdapter apt = new OracleDataAdapter(cmdText, conn);
apt.SelectCommand.CommandType = CommandType.StoredProcedure;
apt.Fill(dt);
if (dt.Rows.Count > )
{
row = dt.Rows[];
}
conn.Close();
}
return row;
} #endregion
}

.net链接Oracle数据操作类库的更多相关文章

  1. Gs_Class.Gs_DataFunction数据操作类库20160225

    using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security ...

  2. 2018.5.19 Oracle数据操作和管理表的综合练习

    --作业一.使用自己的用户登录,完成如下操作,并且创建5条测试数据 -- 创建学生表(stu),字段如下: -- 学号(stuID) -- 姓名(stuName) -- 性别(stuSex) -- 入 ...

  3. Oracle 数据操作

    查询及删除重复记录的SQL语句   1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断   select * from 表 where Id in (select Id from 表 g ...

  4. 关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用

    用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理 ...

  5. ORACLE链接SQLSERVER数据库数据操作函数范例

    ORACLE链接SQLSERVER数据库数据操作函数范例 create or replace function FUN_NAME(LS_DJBH IN varchar2 ,LS_ITM varchar ...

  6. sql server 与oracle数据互导的一种思路--sql server链接服务器

    思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...

  7. 转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)

    如何操做不在同一个数据库中的数据操作: 一.对于SQL server来讲:  1.采用创建链接服务器的方式:    (1).创建链接服务器       exec sp_addlinkedserver  ...

  8. Oracle.数据的增删改、表操作(创建,修改,删除)、数据类型

    SELECT ename,dname FROM emp,dept WHERE emp.deptno=dept.deptno; SELECT dname,loc FROM dept; SELECT JO ...

  9. 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)

    今天操作Oracle数据库时,做一个Update数据时,不小心少写了个where,看这粗心大意的. 于是乎,把所有的员工工号都给更新成一个同一个工号了.这是一个悲催的故事. 因为工号是Check了好多 ...

随机推荐

  1. [OC Foundation框架 - 12] NSNumber

    1.概念 NSArray,NSDictionary只能放OC对象,不能放入基本数据类型 必须使用包装类NSNumber,把基本数据类型包装成OC对象 不支持自动包装解包   void number() ...

  2. Swift 基本语法1

    一.Swift简介 2010年的夏天,苹果公司的开发人员Chris Lattne接到了一个特别的任务,为OS X 和iOS平台开发下一代的编程语言,也就是Swift. 苹果公司于2014年WWDC(苹 ...

  3. 没有指针的java语言

    一.java中引用(reference)实质就是指针 与C语言的指针比较: 1.引用是受控的安全的 2.空引用会被检查 java中不能够访问没有引用到的内存,这也是java的自动垃圾回收机制的基础之一 ...

  4. Windows 环境下基于 Redis 的 Celery 任务调度模块的实现

    搭建环境: Windows-x64 10 Celery 3.1.23 Celery-with-redis 3.0 Redis-win32-win64 2.4.5   实现步骤: 1.安装 Redis ...

  5. SQLite使用教程4 创建数据库

    http://www.runoob.com/sqlite/sqlite-create-database.html SQLite 创建数据库 SQLite 的 sqlite3 命令被用来创建新的 SQL ...

  6. 【转】rvm安装ruby,gem,rails,之后仍然无法找到rails命令

    转自:http://chinacheng.iteye.com/blog/1738036 rvm安装ruby和rails之后,ruby -v好使,gem -v好使.但是rails -v不好使,提示没有安 ...

  7. 检查class排座位

    在写这篇文章之前,xxx已经写过了几篇关于改检查class主题的文章,想要了解的朋友可以去翻一下之前的文章     每日一道理 灯,带有一种明亮的光,每当深夜来临,是它陪伴着你,如此默默无闻.它是平凡 ...

  8. Java连接MYSQL【转载】

    这篇文章主要以MySQL为例讲下Java如何连接到数据库的. 当然,首先要安装有JDK(一般是JDK1.5.X).然后安装MySQL,这些都比较简单,具体过程就不说了.配置好这两个环境后,下载JDBC ...

  9. 征服 Nginx + Tomcat

    2年前一直折腾Apache,现如今更习惯Nginx. 搭建网站又遇到2年前遇到的问题——Session同步. (参考我以前的帖子——征服 Apache + Tomcat)只不过现今担当负载均衡的Apa ...

  10. ios开发——实战OC篇&SQLite3的实际应用

    SQLite3的实际应用 前面的文章中介绍了SQlite,并且介绍了他的各种语法及使用方法. 但是没有正在项目中使用特,今天就开始做一个小小的实例,就是使用SQLite3来实现数据库的相应操作并且把他 ...