.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了好多 ...
随机推荐
- 笔记-动画篇-layout动画初体验
约束动画的文章要比预计的迟迟来临,最大的原因是没有找到我认为的足够好的动画来讲解约束动画 —— 当然了,这并不是因为约束动画太难.相反,因为约束动画实在太简单了,反而没有足够多的简单动画素材让我选用. ...
- Objective-C Runtime 运行时之五:协议与分类
Objective-C中的分类允许我们通过给一个类添加方法来扩充它(但是通过category不能添加新的实例变量),并且我们不需要访问类中的代码就可以做到. Objective-C中的协议是普遍存在的 ...
- ACM_基础知识
1. PI值的定义 const double PI = acos(-1.0); 2. system("pause")就是调用从程序中调用系统命令,而"pause" ...
- CSS构造模型
div 边距 边框 定位 浮动 21.1 div 部分(division)---<div>元素,经常以div形式引用---是XHTML元素,用于定义XHTML文件中的区域. 1.添加div ...
- Linux 下 expect 脚本语言中交互处理常用命令
Linux 下 expect 脚本语言中交互处理常用命令 1. #!/usr/bin/expect 告诉操作系统脚本里的代码使用那一个 shell 来执行.这里的 expect 其实和 Linux 下 ...
- 封装的多功能多效果的RecyclerView
开源界有一句很有名的话叫"不要重复发明轮子",当然,我今天的观点不是要反驳这句话,轮子理论给我们的开发带来了极大的便利,.但我想说的是,既要会用轮子,也要知道轮子怎么造,必要的时候 ...
- HadoopDB:混合分布式系统
HadoopDB 是一个 Mapreduce 和传统关系型数据库的结合方案,以充分利用 RDBMS 的性能和 Hadoop 的容错.分布特性.2009 年被 Yale 大学教授 Abadi 提出,继而 ...
- 将Excel数据导入MySql
1.将选中的数据快儿拷贝到一个TXT文本文件中(记得把后面的空格消掉..),假如存到“D:\data.txt”这个位置里. 2.根据要导入的数据快儿建立MySql数据库和表,然后进入命令提示符里使用命 ...
- php删除最后一个字符
原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 结合运用substr和strlen两个函数实现. 代码: $str = "1, ...
- UIWebView的使用,简单浏览器的实现
#import "ViewController.h" @interface ViewController () <UIWebViewDelegate> @propert ...