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. UI基础 获取当前屏幕显示的viewcontroller

    #pragma mark - 获取当前屏幕显示的viewcontroller - (UIViewController *)getCurrentVC { UIViewController *result ...

  2. hibernate学习五(关系映射多对一与一对多)

    一.多对一 多对一(或者一对多):在学生与老师的情况下,一个老师可以教多个学生,但一个学生只能被教一个老师教: 对于类:在多的那方拥有一的那方的一个实体 二.修改student.java和teache ...

  3. 一、FreeMarker 模版开发指南 第一章 入门

    所有资料来自 南磊 翻译的官方文档,我弄简单了,适合自己以后拿出来翻看. 章节内容如下: 简介 模板+数据模型=输出 数据模型一览 模板一览 一.模板  +  数据模型  =  输出 输出结果: &l ...

  4. Python Telnet弱口令爆破脚本及遇到的错误与问题

    写得时候遇到了一个很大的问题,就是我在发送用户名,接受用户名就会一直卡住.然后等了好久后提示 recv ‘\r\nSession timed out.\r\n\r\nTelnet Server has ...

  5. ios 说一说UINavigationController 的堆栈

    iOS的界面堆栈管理比android的要好用很多. 这里写两点:一点是 如何重回前面的vc,而不是push一个alloc的新界面.第二点就是判断当前堆栈显示的vc是何vc. vc堆栈: vc1-> ...

  6. UIView中触摸事件touchBegin

    UIView触摸事件touchBegin 等一系列方法 1)手指按下 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; ...

  7. PHP strpos() 函数

    定义和用法 strpos() 函数返回字符串在另一个字符串中第一次出现的位置. 如果没有找到该字符串,则返回 false. 语法 strpos(string,find,start) 参数 描述 str ...

  8. 设计模式 - 策略模式(Strategy Pattern) 具体解释

    策略模式(Strategy Pattern) 具体解释 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26577879 本文版权全 ...

  9. StageFright框架流程解读

    1.    StageFright介绍     Android froyo版本号多媒体引擎做了变动,新加入�了stagefright框架,而且默认情况android选择stagefright,并没有全 ...

  10. android学习日记15--WebView(网络视图)

    一.WebView 1.简述 WebView(网络视图)内置WebKit引擎,能加载显示网页,还支持JS,并且能够在Android平台使用AJAXWebView可以在布局中声明,也可以在Activit ...