Oracle在.NET里面的DBHelper、OracleDBHelper
2016-07-29 14:08
549 查看
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; using System.Data; using System.Configuration; using ADODB; using System.Data.OracleClient; //return new OracleConnection(ConfigurationManager.ConnectionStrings["OracleConnectionString"].ConnectionString); namespace EIPWebService.DAL { public class DBHelperOracle { private static OracleConnection cnn = null; /// <summary> /// 连接数据库 /// </summary> public static OracleConnection Cnn { get { if (cnn == null) { cnn = new OracleConnection(@"Data Source=数据库名;User Id=用户名;Password=密码;"); //string cnnstr = ConfigurationManager.ConnectionStrings["cnnstr"].ToString(); //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) { OracleCommand cmm = new OracleCommand(Oracle, Cnn); return cmm.ExecuteNonQuery(); } /// <summary> /// int 增删改功能的Oracle语句。实现增删改功能,返回受影响行数。 /// [where条件时绑定数据,防止注入式攻击] /// </summary> /// <param name="Oracle"></param> /// <returns></returns> public static int ExecuteCommand(string Oracle, OracleParameter[] sp) { OracleCommand cmm = new OracleCommand(Oracle, Cnn); cmm.Parameters.AddRange(sp); return cmm.ExecuteNonQuery(); } /// <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[0]; } /// <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[0]; } /// <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[0]; } } }
相关文章推荐
- 如何利用.net操作oracle里面的clob字段
- .net操作oracle里面的blob,clob
- .NET里面附件上传大小限制的控制
- 用.NET调用oracle的存储过程返回记录集
- oracle里面如何写case语句
- 标记:Oracle里面的过程两种参数的不同
- Oracle在.Net开发上的一点经验 pcsky(原作)
- .NET 访问 Oracle 数据库相关(转自破宝)
- .NET里面的Interop太烂了
- 推荐一个网址,一个人的blog的一篇文章,里面列出了N多的.net下的测试工具和文章
- .net下面Oracle和Sequence的问题
- 在.net里面无法访问网络盘解决办法
- 利用.net替换Word的内容(从数据库中取数据来替换word里面的书签)
- 象ORACLE里面的ROWNUM一样的效果取得查询记录集的第M到N条记录
- oracle里面使用临时表解决表冲突一例(转贴)
- .net 下為如何才能得到Oracle中Sequences 的currval的值!!!
- .NET 访问 Oracle 数据库相关
- [PHP] php.net上的下载栏目里面的国内镜像怎么没有了啊?
- 在.net安装程序中部署oracle客户端全攻略
- .NET 访问 Oracle 数据库相关