.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了好多 ...
随机推荐
- sql存储过程exec执行字符串select 的区别
USE [GuangHong]GO/****** Object: StoredProcedure [dbo].[st_MES_SelInspctDetail] Script Date: 11/23/2 ...
- JSON序列化及利用SqlServer系统存储过程sp_send_dbmail发送邮件(一)
JSON序列化 http://www.cnblogs.com/yubaolee/p/json_serialize.html 利用SqlServer系统存储过程sp_send_dbmail发送邮件(一) ...
- MySQL订单分库分表多维度查询
转自:http://blog.itpub.net/29254281/viewspace-2086198/ MySQL订单分库分表多维度查询 MySQL分库分表,一般只能按照一个维度进行查询. 以订单 ...
- JavaScript要点(七) 函数调用
JavaScript 函数有 4 种调用方式. 每种方式的不同方式在于 this 的初始化. this 关键字 注意: this 是保留关键字,你不能修改 this 的值. ⚠️一般而言,在Java ...
- virtualbox 创建com对象失败
其实这个错误是因为VirtualBox不兼容Win7引起的,只要把VirtualBox的兼容模式改为出Win7以外的就行了.. 右键VirtualBox的桌面快捷方式,选择属性,选到兼容性选项卡,勾选 ...
- Windows 7 EXE图标丢失修复方法
有过Win7下的一些EXE文件图标莫名奇妙丢失,但功能却正常的情况吗?这是图标缓存的问题,应该是Win7的bug. 在命令提示符下输入下列命令即可恢复. 以下是代码片段: taskkill /im e ...
- BBSXP最新漏洞 简单注入检測 万能password
BBSXP最新漏洞 漏洞日期:2005年7月1日受害版本号:眼下全部BBSXP漏洞利用:查前台password注入语句:blog.asp?id=1%20union%20select%201,1,use ...
- 安装Windows SDK7.1时发生的一个错误(附解决办法)
A problem occurred while installing selected Windows SDK components. Installation of the "Micro ...
- JSON数据格式以及与后台交互数据转换实例
/* 作者:烟大阳仔 时间:20131013 介绍:主要了解一下json的格式,看看数据是怎么存储的 */ <!DOCTYPE html PUBLIC "-//W3C//DTD HTM ...
- C#_delegate - 调用列表
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dele ...