.net链接Oracle数据操作类库
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数据操作类库的更多相关文章
- Gs_Class.Gs_DataFunction数据操作类库20160225
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security ...
- 2018.5.19 Oracle数据操作和管理表的综合练习
--作业一.使用自己的用户登录,完成如下操作,并且创建5条测试数据 -- 创建学生表(stu),字段如下: -- 学号(stuID) -- 姓名(stuName) -- 性别(stuSex) -- 入 ...
- Oracle 数据操作
查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 g ...
- 关于vs2008使用oracleclient链接oracle数据库报报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
用vs2008链接oracle数据库出现问题,报错OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用,从网上找了好久方法,有两种oracle客户端文件权限,和运行vs2008以管理 ...
- ORACLE链接SQLSERVER数据库数据操作函数范例
ORACLE链接SQLSERVER数据库数据操作函数范例 create or replace function FUN_NAME(LS_DJBH IN varchar2 ,LS_ITM varchar ...
- sql server 与oracle数据互导的一种思路--sql server链接服务器
思路:通过在sql server数据库中添加链接服务器,可以远程查询oracle数据库的表环境准备,安装sql server数据库,并安装好oracle驱动,在配置好tnsname文件中配置好orac ...
- 转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)
如何操做不在同一个数据库中的数据操作: 一.对于SQL server来讲: 1.采用创建链接服务器的方式: (1).创建链接服务器 exec sp_addlinkedserver ...
- Oracle.数据的增删改、表操作(创建,修改,删除)、数据类型
SELECT ename,dname FROM emp,dept WHERE emp.deptno=dept.deptno; SELECT dname,loc FROM dept; SELECT JO ...
- 关于Oracle误操作--数据被Commit后的数据回退恢复(闪回)
今天操作Oracle数据库时,做一个Update数据时,不小心少写了个where,看这粗心大意的. 于是乎,把所有的员工工号都给更新成一个同一个工号了.这是一个悲催的故事. 因为工号是Check了好多 ...
随机推荐
- ulua学习笔记(二):官方资料及问题解决方案
uLua&SimpleFramework入门视频教程网盘地址 视频教程地址 http://pan.baidu.com/s/1gd8fG4N游戏框架地址 https://github.com/j ...
- C/C++中的变量作用域
#include <iostream> using namespace std; int i = 1;int j = 2; int main(){ int i = 9; //C/ ...
- Linux使用netstat命令查看并发连接数[转]
转自:http://www.cnblogs.com/wayne173/p/5652043.html Linux使用netstat命令查看并发连接数 我们的网站部署在linux的服务器上,特别是we ...
- Flash Builder 创建CSS
1.global 选择器将样式应用于所有控件 在 Flash Builder 中创建新MXML 文件并切换到设计模式 属性视图右侧的外观视图可更改外观 Flash Builder 自动创建CS ...
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState參数解析
作者 : 韩曙亮 转载请著名出处 : http://blog.csdn.net/shulianghan/article/details/38297083 一. 相关方法简单介绍 1. 状态保存方法演示 ...
- maven 把spring项目打包成可执行的文件
转载自http://www.mamicod.e.com/info-detail-635726.html 最近需要解决Maven项目导入可执行的jar包的问题,如果项目不包含Spring,那么使用mvn ...
- Linux 基础 —— RPM
http://liaoph.com/linux-rpm/ 这篇文章主要讲 RPM 软件包管理器的使用. 软件包的演变史 最早期时,软件包是一些可以运行的程序组成的集合,可能还要加上若干配置文件和动态库 ...
- [008]new、delete及动态内存分配
1.new和delete都会用,这里只声明一点: C++ 没有明确定义如何释放指向不是用 new 分配的内存地址的指针. 比如下面的代码: #include<iostream> using ...
- 【转】频点CTO张成:基于Cocos2d的MMORPG开发经验
http://www.9ria.com/plus/view.php?aid=27698 作者: zhiyuanzhe3 发表时间: 2013-06-29 17:46 6月29日,由9Tech社区.51 ...
- web service 部署
写的不好,全当是写给自己看的吧. 公司用飞天诚信的加密狗对网站进行加密,我要部署加密狗的web service.注:web service 由加密狗公司提供. 1.新建网站dog