public static class OracleDBHelper{public static OracleCommand cmd = null;public static OracleConnection conn = null;public static string connstr = ConfigurationManager.ConnectionStrings["DbInsured_oracle"].ConnectionString;#region 获取Guid方法public static string GetGuid(){string guid = Guid.NewGuid().ToString();return guid;}#endregion#region 建立数据库连接对象/// <summary>/// 建立数据库连接/// </summary>/// <returns>返回一个数据库的连接OracleConnection对象</returns>public static OracleConnection init(){try{conn = new OracleConnection(connstr);if (conn.State != ConnectionState.Open){conn.Open();}}catch (Exception e){throw new Exception(e.Message.ToString());}return conn;}#endregion#region 设置OracleCommand对象/// <summary>/// 设置OracleCommand对象 /// </summary>/// <param name="cmd">OracleCommand对象 </param>/// <param name="cmdText">命令文本</param>/// <param name="cmdType">命令类型</param>/// <param name="cmdParms">参数集合</param>private static void SetCommand(OracleCommand cmd, string cmdText, CommandType cmdType, OracleParameter[] cmdParms){cmd.Connection = conn;cmd.CommandText = cmdText;cmd.CommandType = cmdType;if (cmdParms != null){cmd.Parameters.AddRange(cmdParms);}}#endregion#region 执行相应的sql语句,返回相应的DataSet对象/// <summary>/// 执行相应的sql语句,返回相应的DataSet对象/// </summary>/// <param name="sqlstr">sql语句</param>/// <returns>返回相应的DataSet对象</returns>public static DataSet GetDataSet(string sqlstr){DataSet set = new DataSet();try{init();OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);adp.Fill(set);conn.Close();}catch (Exception e){throw new Exception(e.Message.ToString());}return set;}#endregion#region 执行相应的sql语句,返回相应的DataSet对象/// <summary>/// 执行相应的sql语句,返回相应的DataSet对象/// </summary>/// <param name="sqlstr">sql语句</param>/// <param name="tableName">表名</param>/// <returns>返回相应的DataSet对象</returns>public static DataSet GetDataSet(string sqlstr, string tableName){DataSet set = new DataSet();try{init();OracleDataAdapter adp = new OracleDataAdapter(sqlstr, conn);adp.Fill(set, tableName);conn.Close();}catch (Exception e){throw new Exception(e.Message.ToString());}return set;}#endregion#region 执行不带参数sql语句,返回所影响的行数/// <summary>/// 执行不带参数sql语句,返回所影响的行数/// </summary>/// <param name="cmdstr">增,删,改sql语句</param>/// <returns>返回所影响的行数</returns>public static int ExecuteNonQuery(string cmdText){int count;try{init();cmd = new OracleCommand(cmdText, conn);count = cmd.ExecuteNonQuery();conn.Close();}catch (Exception ex){throw new Exception(ex.Message.ToString());}return count;}#endregion#region 执行带参数sql语句或存储过程,返回所影响的行数/// <summary>/// 执行带参数sql语句或存储过程,返回所影响的行数/// </summary>/// <param name="cmdText">带参数的sql语句和存储过程名</param>/// <param name="cmdType">命令类型</param>/// <param name="cmdParms">参数集合</param>/// <returns>返回所影响的行数</returns>public static int ExecuteNonQuery(string cmdText, CommandType cmdType, OracleParameter[] cmdParms){int count;try{init();cmd = new OracleCommand();SetCommand(cmd, cmdText, cmdType, cmdParms);count = cmd.ExecuteNonQuery();cmd.Parameters.Clear();conn.Close();}catch (Exception ex){throw new Exception(ex.Message.ToString());}return count;}#endregion#region 执行不带参数sql语句,返回一个从数据源读取数据的OracleDataReader对象/// <summary>/// 执行不带参数sql语句,返回一个从数据源读取数据的OracleDataReader对象/// </summary>/// <param name="cmdstr">相应的sql语句</param>/// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>public static OracleDataReader ExecuteReader(string cmdText){OracleDataReader reader;try{init();cmd = new OracleCommand(cmdText, conn);reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception ex){throw new Exception(ex.Message.ToString());}return reader;}#endregion#region 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象/// <summary>/// 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象/// </summary>/// <param name="cmdText">sql语句或存储过程名</param>/// <param name="cmdType">命令类型</param>/// <param name="cmdParms">参数集合</param>/// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>public static OracleDataReader ExecuteReader(string cmdText, CommandType cmdType, OracleParameter[] cmdParms){OracleDataReader reader;try{init();cmd = new OracleCommand();SetCommand(cmd, cmdText, cmdType, cmdParms);reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);}catch (Exception ex){throw new Exception(ex.Message.ToString());}return reader;}#endregion#region 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的DataSet对象/// <summary>/// 执行带参数的sql语句或存储过程,返回一个从数据源读取数据的OracleDataReader对象/// </summary>/// <param name="cmdText">sql语句或存储过程名</param>/// <param name="cmdType">命令类型</param>/// <param name="cmdParms">参数集合</param>/// <returns>返回一个从数据源读取数据的OracleDataReader对象</returns>public static DataSet ExecuteReaderByDataSet(string cmdText, CommandType cmdType, OracleParameter[] cmdParms){DataSet set = new DataSet();try{init();OracleDataAdapter adp = new OracleDataAdapter(cmdText, conn);adp.SelectCommand.Parameters.AddRange(cmdParms);adp.Fill(set, "personInfo");conn.Close();}catch (Exception ex){throw new Exception(ex.Message.ToString());}return set;}/// <summary>/// 不带参数DataSet/// </summary>/// <returns></returns>public static DataSet ExecuteReaderByDataSet(string cmdText){DataSet set = new DataSet();try{init();OracleDataAdapter adp = new OracleDataAdapter(cmdText, conn);adp.Fill(set, "Ds");conn.Close();}catch (Exception ex){throw new Exception(ex.Message.ToString());}return set;}#endregion/// <summary>/// 读取数据/// </summary>/// <param name="cmdText"></param>///  OracleDataAdapter读取数据/// <returns></returns>public static DataSet ExecuteDataReader(string cmdText){OracleDataAdapter odataAdapter;DataSet ds = new DataSet();try{init();odataAdapter = new OracleDataAdapter(cmdText, conn);odataAdapter.Fill(ds, "personInfo");}catch (Exception ex){throw new Exception(ex.Message.ToString());}return ds;}#region 执行不带参数sql语句,返回结果集首行首列的值object/// <summary>/// 执行不带参数sql语句,返回结果集首行首列的值object/// </summary>/// <param name="cmdstr">相应的sql语句</param>/// <returns>返回结果集首行首列的值object</returns>public static object ExecuteScalar(string cmdText){object obj;try{init();cmd = new OracleCommand(cmdText, conn);obj = cmd.ExecuteScalar();conn.Close();}catch (Exception ex){throw new Exception(ex.Message.ToString());}return obj;}#endregion#region 执行带参数sql语句或存储过程,返回结果集首行首列的值object/// <summary>/// 执行带参数sql语句或存储过程,返回结果集首行首列的值object/// </summary>/// <param name="cmdText">sql语句或存储过程名</param>/// <param name="cmdType">命令类型</param>/// <param name="cmdParms">返回结果集首行首列的值object</param>/// <returns></returns>public static object ExecuteScalar(string cmdText, CommandType cmdType, OracleParameter[] cmdParms){object obj;try{init();cmd = new OracleCommand();SetCommand(cmd, cmdText, cmdType, cmdParms);obj = cmd.ExecuteScalar();conn.Close();}catch (Exception ex){throw new Exception(ex.Message.ToString());}return obj;}#endregion#region DataSet装换为泛型集合/// <summary> /// DataSet装换为泛型集合 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="p_DataSet">DataSet</param> /// <param name="p_TableIndex">待转换数据表索引</param> /// <returns></returns> /// 2008-08-01 22:46 HPDV2806 public static IList<T> DataSetToIList<T>(DataSet p_DataSet, int p_TableIndex){if (p_DataSet == null || p_DataSet.Tables.Count < 0)return null;if (p_TableIndex > p_DataSet.Tables.Count - 1)return null;if (p_TableIndex < 0)p_TableIndex = 0;DataTable p_Data = p_DataSet.Tables[p_TableIndex];// 返回值初始化 IList<T> result = new List<T>();for (int j = 0; j < p_Data.Rows.Count; j++){T _t = (T)Activator.CreateInstance(typeof(T));PropertyInfo[] propertys = _t.GetType().GetProperties();foreach (PropertyInfo pi in propertys){for (int i = 0; i < p_Data.Columns.Count; i++){// 属性与字段名称一致的进行赋值 if (pi.Name.ToLower().Equals(p_Data.Columns[i].ColumnName.ToLower())){try{// 数据库NULL值单独处理if (p_Data.Rows[j][i].GetType() == typeof(DateTime)){pi.SetValue(_t, p_Data.Rows[j][i], null);}else if (p_Data.Rows[j][i] != DBNull.Value)pi.SetValue(_t, p_Data.Rows[j][i].ToString(), null);elsepi.SetValue(_t, null, null);break;}catch (Exception ex){throw;}}}}result.Add(_t);}return result;}#endregion#region 防止SQL注入方法public static string FilterSql(string s){if (string.IsNullOrEmpty(s)) return string.Empty;s = s.Trim().ToLower();s = s.Replace("=", "");s = s.Replace("'", "");s = s.Replace(";", "");s = s.Replace(" or ", "");s = s.Replace("select", "");s = s.Replace("update", "");s = s.Replace("insert", "");s = s.Replace("delete", "");s = s.Replace("declare", "");s = s.Replace("exec", "");s = s.Replace("drop", "");s = s.Replace("create", "");s = s.Replace("%", "");s = s.Replace("--", "");return s;}#endregion}

转载于:https://www.cnblogs.com/youmingkuang/p/8385583.html

Oracle DBHelper 第二版相关推荐

  1. oracle 11g第二版课后答案,oracle 11g(钱慎一)课后习题答案

    oracle 11g数据库基础与应用教程(钱慎一)含1-8章课后习题答案 一.选择题 1. 若关系的某一属性组的值能唯一地标识一个元组,我们称之为( B ). A.主码 B.候选码 C.外码 D.联系 ...

  2. 整理对应_JSP第二版课后习题答案【侵权联系我删除】

    JSP第二版课后习题下载:https://download.csdn.net/download/weixin_42859280/11265785 JSP第二版课后习题答案下载:https://down ...

  3. 《Java程序设计与数据结构教程(第二版)》学习指导

    <Java程序设计与数据结构教程(第二版)>学习指导 目录 图书简况 学习指导 第一章 绪论 第二章 数据和表达式 第三章 使用类和对象 第四章 条件和循环 第五章 编写类 第六章 图形用 ...

  4. 计算机专业英语教程(第二版)Chapter 4 Database Fundamentals

    这里的英语文章是<计算机专业英语教程第二版>,为了学习英语手打在这里.对版权不熟悉,完全为了学习的目的--算是免责声明吧(如果有的话) Chapter 4 Database Fundame ...

  5. JSP第二版课后习题答案初步不含颜色,冗杂【侵权联系我删除】

    JSP第二版课后习题下载:https://download.csdn.net/download/weixin_42859280/11265785 JSP第二版课后习题答案下载:https://down ...

  6. 视频教程-SQL语句从入门到精通迅速提升篇视频课程(Oracle零基础版)-Oracle

    SQL语句从入门到精通迅速提升篇视频课程(Oracle零基础版) 某公司区域交付运营总监,丰富的项目管理经验,带过1个亿级项目,千万级项目10余个. 陈志文 ¥118.00 立即订阅 扫码下载「CSD ...

  7. 我的狐仙老婆——游魂 -Kiss on my Deity-汉化第二版

    第二版说明: 感谢八雲 瑠璃桜找出第一版 近300处文字问题 应该来说游魂当时决策有问题造成文字没有完全过一遍. 后来的C3 这些我都保证N1  汉化全部过一遍,尽自己可能保证无错... 第二版仅发布 ...

  8. Web前端开发技术第二版课后上机题(第四章)

    前端开发技术第二版第四章课后上机题答案,代码加图. 代码: <!DOCTYPE html> <html lang="en"> <head>< ...

  9. 【毕业一年一点不平凡经历,不平常的感受,有了不平常的自信】第二版

    2006-05-20 16:39:27 [毕业一年一点不平凡经历,不平常的感受,有了不平常的自信]第二版 上21IC几年了,一直潜水中,曾受多少电子高人的鼓舞,今天我终于耐不住了,想把我毕业一年的绝对 ...

  10. Slam十四讲(第二版):1、习题

    Github:https://github.com/gaoxiang12/slambook2(对应的是第二版) 第一讲 齐次线性方程组的表现形式为:Ax=0:讲解链接:https://jingyan. ...

最新文章

  1. NC93设计LRU缓存结构
  2. vs2013编译win-32位下的libevent-2.0.21-stable,debug版本
  3. cad2006安装未找到html文件,启动 AutoCAD 时显示“加载自定义文件失败。未找到文件”...
  4. python 列表索引位置,python – 在列表中查找值的第一个位置
  5. 晶体管游戏 linux,Industrial Linux
  6. ev3编码软件linux,乐高ev3编程软件下载
  7. k 均值算法(k-means)
  8. 台式计算机如何取消屏幕密码,台式电脑怎么取消锁屏?
  9. 流量魔盒FlowBox 发行的代币是DMC骗局分析
  10. 浅析API网关——Ocelot[网关]+Consul[服务发现负载均衡]+Polly[服务熔断]+Ids4[服务认证]
  11. 让你两分钟明白什么是ERP
  12. 关于react组件报错“A component is changing an uncontrolled input of type text to be controlled”
  13. 怎样测试手机性能软件,如何检测手机性能的软件
  14. dot全称_求魔兽世界中的缩写全称
  15. Maven私服Nexus-3.49.0配置
  16. 菜孔孔学python--字典
  17. python量化交易策略实例_python量化交易策略入门(一):MACD的威力
  18. eclipse中字体大小及背景颜色设置
  19. 从大三开始奋发的程序员面临新的困惑
  20. 全新的红巨人粒子特效套装插件:TrapCode Suite Mac版

热门文章

  1. [原创]怎样尽可能多地发现缺陷,避免遗漏缺陷?
  2. 浏览器tab切换最小化,当前页面无操作刷新页面
  3. PdfJS使用的一些说明
  4. matlab回归系数 t检验6,matlab做回归分析时,能做t检验吗?
  5. 小米路由器刷梅林教程_小米路由器3刷X-Wrt固件教程
  6. linux tty 软件包,Linux TTY framework(2)_软件架构
  7. 苹果商城怎么调成中文_英雄联盟手游教程及问题反馈以及内部功能详解(苹果安卓都可以了)...
  8. python井字棋如何判断输赢_python 井字棋游戏 简单版,不知道为什么不判断,用Tkinter做的界面...
  9. fedora10 linux内核,自己动手编译Linux2.6.25.10内核(Fedora 7)
  10. linux远程控制本地用户登录,linux 本地无法登录 远程可以登陆的解决办法