C# OracleDBhelper
引用
using System.Configuration;
using System.Data.OracleClient;
连接字符串
<connectionStrings>
<add name="OracleConnString" connectionString="User ID=xxx;Password=xxx;Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST=IP地址)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=orcl)))" />
</connectionStrings>
类
public static class OracleDBhelper
{
private static OracleConnection cnn = null;
/// <summary>
/// 连接数据库
/// </summary>
public static OracleConnection Cnn
{
get
{
if (cnn == null)
{
string cnnstr = ConfigurationManager.ConnectionStrings["OracleConnString"].ConnectionString;
cnn = new OracleConnection(cnnstr);
cnn.Open(); }
else if (cnn.State == ConnectionState.Closed)
{
cnn.Open();
}
else if (cnn.State == ConnectionState.Broken)
{
cnn.Close();
cnn.Open();
}
return cnn;
}
} /// <summary>
/// int 增删改功能的Oracle语句。实现增删改功能,返回受影响行数。
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static int ExecuteCommand(string Oracle)
{
int intResult = ;
try
{
string cnnstr = ConfigurationManager.ConnectionStrings["OracleConnString"].ConnectionString;
Console.Write(cnnstr);
cnn = new OracleConnection(cnnstr);
cnn.Open();
OracleCommand cmm = new OracleCommand(Oracle, cnn);
intResult = cmm.ExecuteNonQuery();
cmm.Dispose();
}
catch (Exception ex)
{
Console.Write(ex.Message);
throw ex;
}
finally
{
cnn.Close();
cnn.Dispose();
}
return intResult;
} /// <summary>
/// int 增删改功能的Oracle语句。实现增删改功能,返回受影响行数。
/// [where条件时绑定数据,防止注入式攻击]
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static int ExecuteCommand(string Oracle, OracleParameter[] sp)
{
int intResult = ;
try
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
cmm.Parameters.AddRange(sp);
intResult = cmm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
cnn.Close();
cnn.Dispose();
}
return intResult;
} /// <summary>
/// string 查询返回单行单列的Oracle语句。( 例:select count(*) from 表名或 select name from 表名 )。
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static string ExecuteScalar(string Oracle)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
return cmm.ExecuteScalar().ToString();
} /// <summary>
/// string 查询返回单行单列的Oracle语句。( 例:select count(*) from 表名或 select name from 表名 )。
/// [where条件时绑定数据,防止注入式攻击]
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static string ExecuteScalar(string Oracle, OracleParameter[] sp)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
cmm.Parameters.AddRange(sp);
return cmm.ExecuteScalar().ToString();
} /// <summary>
/// OracleDataReader 查询返回符合条件的记录 每次返回一行
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static OracleDataReader ExecuteDataReader(string Oracle)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
return cmm.ExecuteReader();
} /// <summary>
/// OracleDataReader 查询返回符合条件的记录 每次返回一行.
/// [where条件时绑定数据,防止注入式攻击]
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static OracleDataReader ExecuteDataReader(string Oracle, OracleParameter[] sp)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
cmm.Parameters.AddRange(sp);
return cmm.ExecuteReader();
} /// <summary>
/// DataTable 查询返回符合条件的记录表
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static DataTable ExcuteDataTable(string Oracle)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
OracleDataAdapter da = new OracleDataAdapter(cmm);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
} /// <summary>
/// DataTable 查询返回符合条件的记录表
/// [where条件时绑定数据,防止注入式攻击]
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static DataTable ExcuteDataTable(string Oracle, OracleParameter[] sp)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
cmm.Parameters.AddRange(sp);
OracleDataAdapter da = new OracleDataAdapter(cmm);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
} /// <summary>
/// DataTable 查询返回DataTable 带有分页参数,startRecord 开始记录数,maxRecords 最大记录数 适用于分页控件
/// startRecord :(AspNetPager1.CurrnetPageIndex - 1 )*AspNetPager1.Pagesize
/// maxRecords:AspNetPager1.pagesize
/// </summary>
/// <param name="Oracle"></param>
/// <param name="startRecord"></param>
/// <param name="maxRecords"></param>
/// <returns></returns>
public static DataTable DataTablePage(string Oracle, int startRecord, int maxRecords)
{
OracleCommand cmm = new OracleCommand(Oracle, Cnn);
OracleDataAdapter sdp = new OracleDataAdapter(cmm);
DataTable dt = new DataTable();
sdp.Fill(startRecord, maxRecords, dt);
return dt;
} /// <summary>
/// DataTable 查询返回【存储过程的Oracle语句】
///
/// </summary>
/// <param name="Oracle"></param>
/// <returns></returns>
public static DataTable ExcuteDataTableByProcedure(string procedure, OracleParameter[] sp)
{
OracleCommand cmm = new OracleCommand(procedure, Cnn);
cmm.CommandType = CommandType.StoredProcedure;
cmm.Parameters.AddRange(sp);
OracleDataAdapter da = new OracleDataAdapter(cmm);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
}
}
使用
DataTable result = DBhelper.ExcuteDataTable(sql); int result = DBhelper.ExecuteCommand(sql);
C# OracleDBhelper的更多相关文章
- 关于oracle存储过程的一些知识点
一.创建一个存储过程,批量清空数据库中所有表的数据. --清空数据库中所有表的数据 create or replace procedure truncateAllTables as v_sql ); ...
- 我也来学着写写WINDOWS服务-解析xml抓取数据并插入数据库
项目告一段落,快到一年时间开发了两个系统,一个客户已经在试用,一个进入客户测试阶段,中间突然被项目经理(更喜欢叫他W工)分派一个每隔两小时用windows服务去抓取客户提供的外网xml,解析该xml, ...
- Spring IOC以及三种注入方式
IOC是spring的最基础部分,也是核心模块,Spring的其他组件模块和应用开发都是以它为基础的.IOC把spring的面向接口编程和松耦合的思想体现的淋漓尽致. IOC概念 IOC(Invers ...
- 基于Windows服务的WCF
(1)创建WCF 代码示例: [ServiceContract] public interface ILimsDBService { [OperationContract] int ExecuteSq ...
- Oracle DBHelper 第二版
public static class OracleDBHelper { public static OracleCommand cmd = null; public static OracleCon ...
- 基于ManagedDataAccess开发的OracleDBHelpe工具集伸手党的福音
在使用前先加入ManagedDataAccessDLL文件方可使用 添加方法:右键项目.点击管理NuGet程序包,点击浏览,在输入框内输入ManagedDataAccess,再点击安装即可 Oracl ...
随机推荐
- Android raw to bmp
Android raw 格式转 bmp 图像 raw 保存的为裸数据,转换时都需要把它转成RGBA 的方式来显示.其中: 8位RAW: 四位RGBA 来表示一位灰度; 24位RAW: 三位RGB相同, ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- PHP之用户验证和标签推荐的简单使用
本篇主要是讲解一些最简单的验证知识 效果图 bookmark_fns.php <?php require_once('output_fns.php'); require_once('db_fns ...
- angularjs 依赖注入--自己学着实现
在用angular依赖注入时,感觉很好用,他的出现是 为了"削减计算机程序的耦合问题" ,我怀着敬畏与好奇的心情,轻轻的走进了angular源码,看看他到底是怎么实现的,我也想写个 ...
- Mysql存储引擎比较
Mysql作为一个开源的免费数据库,在平时项目当中会经常使用到,而在项目当中我们的着重点一般在设计使用数据库上而非mysql本身上,所以在提到mysql的存储引擎时,一般都不曾知道,这里经过网上相关文 ...
- 基于改进人工蜂群算法的K均值聚类算法(附MATLAB版源代码)
其实一直以来也没有准备在园子里发这样的文章,相对来说,算法改进放在园子里还是会稍稍显得格格不入.但是最近邮箱收到的几封邮件让我觉得有必要通过我的博客把过去做过的东西分享出去更给更多需要的人.从论文刊登 ...
- 简单酷炫的canvas动画
作为一个新人怀着激动而紧张的心情写了第一篇帖子还请大家多多支持,小弟在次拜谢. 驯鹿拉圣诞老人动画效果图如下 html如下: <div style="width:400px;heigh ...
- MongoDB学习笔记~对集合属性的操作
回到目录 $unset清除元素 请注意在单个数组元素上使用$unset的结果可能与你设想的不一样.其结果只是将元素的值设置为null,而非删除整个元素.要想彻底删除某个数组元素,可以用$pull 和$ ...
- win10安装blueCFD
blueCFD其实安装起来听简单,不过还是有点问题.最大的问题是该软件没有文档,不过想来也是,人家只是提供一个linux外壳,剩下的工作还是OpenFoam,该干嘛干嘛,也用不着文档.问题在于我们需要 ...
- 我的MYSQL学习心得(十六) 优化
我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...