1、OracleHelper

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.HtmlControls;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Xml.Linq;
  12. using Oracle.DataAccess.Client;
  13.  
  14. namespace OracleDBDemo
  15. {
  16. public class OracleHelper
  17. {
  18.  
  19. private static string oracleConnectionStr = ConfigurationManager.ConnectionStrings["OracleConnectionString"].ToString();
  20.  
  21. public static DataTable ExecuteDataTable(string sql,params OracleParameter[] paramList)
  22. {
  23. using (OracleConnection conn = new OracleConnection(oracleConnectionStr))
  24. {
  25. conn.Open();
  26.  
  27. using (OracleCommand command = conn.CreateCommand())
  28. {
  29. command.CommandText = sql;
  30.  
  31. command.Parameters.AddRange(paramList);
  32.  
  33. DataTable dt = new DataTable();
  34.  
  35. OracleDataAdapter adapter = new OracleDataAdapter(command);
  36.  
  37. adapter.Fill(dt);
  38.  
  39. return dt;
  40. }
  41. }
  42. }
  43.  
  44. public static int ExecuteNonQuery(string sql, params OracleParameter[] paramList)
  45. {
  46. using(OracleConnection conn = new OracleConnection(oracleConnectionStr))
  47. {
  48. conn.Open();
  49. using (OracleCommand command = conn.CreateCommand())
  50. {
  51. command.CommandText = sql;
  52. command.Parameters.AddRange(paramList);
  53.  
  54. return command.ExecuteNonQuery();
  55. }
  56. }
  57. }
  58.  
  59. public static object ExecuteScalar(string sql, params OracleParameter[] paramList)
  60. {
  61. using (OracleConnection conn = new OracleConnection(oracleConnectionStr))
  62. {
  63. conn.Open();
  64. using (OracleCommand command = conn.CreateCommand())
  65. {
  66. command.CommandText = sql;
  67. command.Parameters.AddRange(paramList);
  68.  
  69. return command.ExecuteScalar();
  70. }
  71. }
  72. }
  73. }
  74. }

2、SqlServerHelper

  1. using System;
  2. using System.Data;
  3. using System.Configuration;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Security;
  7. using System.Web.UI;
  8. using System.Web.UI.HtmlControls;
  9. using System.Web.UI.WebControls;
  10. using System.Web.UI.WebControls.WebParts;
  11. using System.Xml.Linq;
  12. using System.Data.SqlClient;
  13. using System.Data.Common;
  14.  
  15. namespace OracleDBDemo
  16. {
  17. public class SqlServerHelper
  18. {
  19.  
  20. private static string sqlConnenctionStr = ConfigurationManager.ConnectionStrings["SqlServerConnectionString"].ToString();
  21.  
  22. public static DataTable ExecuteDataTable(string sql,params SqlParameter[] paramList)
  23. {
  24. using(SqlConnection conn = new SqlConnection(sqlConnenctionStr))
  25. {
  26. conn.Open();
  27.  
  28. using(SqlCommand command = conn.CreateCommand())
  29. {
  30. command.CommandText = sql;
  31. command.Parameters.AddRange(paramList);
  32.  
  33. DataTable dt = new DataTable();
  34.  
  35. SqlDataAdapter adapter = new SqlDataAdapter(command);
  36.  
  37. adapter.Fill(dt);
  38.  
  39. return dt;
  40. }
  41. }
  42. }
  43.  
  44. public static int ExecuteNonQuery(string sql, params SqlParameter[] paramList)
  45. {
  46.  
  47. using (SqlConnection conn = new SqlConnection(sqlConnenctionStr))
  48. {
  49. conn.Open();
  50.  
  51. using (SqlCommand command = conn.CreateCommand())
  52. {
  53. command.CommandText = sql;
  54. command.Parameters.AddRange(paramList);
  55.  
  56. return command.ExecuteNonQuery();
  57. }
  58. }
  59.  
  60. }
  61.  
  62. public static object ExecuteScalar(string sql, params SqlParameter[] paramList)
  63. {
  64. using (SqlConnection conn = new SqlConnection(sqlConnenctionStr))
  65. {
  66. conn.Open();
  67. using (SqlCommand command = conn.CreateCommand())
  68. {
  69. command.CommandText = sql;
  70.  
  71. command.Parameters.AddRange(paramList);
  72.  
  73. object obj = command.ExecuteScalar();
  74.  
  75. return obj;
  76.  
  77. }
  78. }
  79. }
  80.  
  81. }
  82. }

3、web.config

  1. <connectionStrings>
  2. <add name="SqlServerConnectionString" connectionString="Data Source=.\sql2005;Initial Catalog=Credit;Integrated Security=False;User ID=sa;Password=123456;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False" providerName="System.Data.SqlClient"/>

  3. <add name="OracleConnectionString" connectionString="DATA SOURCE=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=DBName)));PASSWORD=a123456;PERSIST SECURITY INFO=True;USER ID=system" providerName="Oracle.DataAccess.Client"/>
  4.  
  5. </connectionStrings>

4、数据测试

  1. using System;
  2. using System.Collections;
  3. using System.Configuration;
  4. using System.Data;
  5. using System.Linq;
  6. using System.Web;
  7. using System.Web.Security;
  8. using System.Web.UI;
  9. using System.Web.UI.HtmlControls;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.WebControls.WebParts;
  12. using System.Xml.Linq;
  13. using System.Data.SqlClient;
  14. using Oracle.DataAccess.Client;
  15.  
  16. namespace OracleDBDemo
  17. {
  18. public partial class _Default : System.Web.UI.Page
  19. {
  20. protected void Page_Load(object sender, EventArgs e)
  21. {
  22. OracleExecuteNonQuery();
  23. }
  24.  
  25. #region SqlServer
  26.  
  27. private void SqlServerExecuteDataTable()
  28. {
  29. string sql = "select * from Account";
  30.  
  31. DataTable dt = SqlServerHelper.ExecuteDataTable(sql);
  32. }
  33.  
  34. private void SqlServerExecuteNonQuery()
  35. {
  36. string sql = "insert into Account(AccountName,createtime) values(@name,@time)";
  37.  
  38. SqlServerHelper.ExecuteNonQuery(sql, new SqlParameter("@name", "你好屌!!!"), new SqlParameter("@time", DateTime.Now));
  39. }
  40.  
  41. private void SqlServerExecuteScalar()
  42. {
  43. string sql = "select max(id) from account where AccountName=@name";
  44.  
  45. object obj = SqlServerHelper.ExecuteScalar(sql, new SqlParameter("@name", "ff"));
  46. Response.Write(obj.ToString());
  47. }
  48.  
  49. #endregion
  50.  
  51. #region Oracle
  52.  
  53. private void OracleExecuteDataTable()
  54. {
  55. string sql = "select * from AccountInfo";
  56.  
  57. DataTable dt = OracleHelper.ExecuteDataTable(sql);
  58. }
  59.  
  60. private void OracleExecuteNonQuery()
  61. {
  62. string sql = "insert into AccountInfo(id,AccountInfoName) values(:id,:name)";
  63.  
  64. OracleHelper.ExecuteNonQuery(sql, new OracleParameter(":id", ),new OracleParameter(":name", "你好屌!!!"));
  65. }
  66.  
  67. private void OracleExecuteScalar()
  68. {
  69. string sql = "select max(id) from account where AccountName=@name";
  70.  
  71. object obj = SqlServerHelper.ExecuteScalar(sql, new SqlParameter("@name", "ff"));
  72. Response.Write(obj.ToString());
  73. }
  74.  
  75. #endregion
  76. }
  77. }

备注:

/*
 * 使用参数化 DbCommand 的一个缺点是需要参数的代码将仅适用于支持相同语法的提供程序。
 * OleDb、SqlClient 和 Oracle 提供程序全部使用不同的语法。
 * 例如:
 * SqlClient 参数语法需要使用“@”作为参数占位符;
 * OleDb 参数语法需要使用问号“?”作为参数占位符;
 * Oracle 参数语法需要使用“:”作为参数占位符。
 */

OracleHelper与SqlServerHelper的更多相关文章

  1. 话说C#程序员人手一个ORM

    话说C#程序员人手一个ORM,确实没有必要再写ORM了,不过我的ORM并不是新的,是从DBHelper演化过来的,算是DBHelper魔改版. 目前流行的ORM有EF.Dapper.SqlSugar. ...

  2. OracleHelper类

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  3. 分享一个oraclehelper

    分享一个拿即用的oraclehelper 首先要引用本机中的oralce access,如果是64位的话,也必须是64位运行,不然会报连接为空connection 等于null. using Orac ...

  4. 丰富自己的代码库-SqlServerHelper(Ado)

    设计思路很简单,就是把数据封装为DataTable类,封装了类型转换,使用者可以不必考虑任何类型转换,而使用VC提供的CString即可.封装了按行号查找功能,先看代码 #pragma once #i ...

  5. OracleHelper数据库事务处理

    原理:需要开启事务的Action贴上Transaction标签,则Action执行前开启事务,Action执行完提交事务,如果Action报错,则回滚事务. OracleHelper代码: using ...

  6. OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)

    公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...

  7. 『片段』OracleHelper (支持 多条SQL语句)

    C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...

  8. OracleHelper

    /// <summary> /// OracleServer数据库访问的通用工具类 /// </summary> public abstract class OracleHel ...

  9. OracleHelper(for produce)

    OracleHelper中,有一个用存储过程实现的Insert方法. 然后我把执行存储过程的方法 封装成了可以执行任何存储过程,参数是 存储过程名称 以及存错过程中的传入.传出参数 using Ora ...

随机推荐

  1. 2016_NENU_CS_3

    贴一下比赛的代码,  其中 I 题代码源于final大神 ok_again http://acm.hust.edu.cn/vjudge/contest/127444#overview I /***** ...

  2. python学习笔记六——堆栈和队列

    4.2.3 列表的查找.排序.反转 list列表可以进行添加.删除操作,此外List列表还提供了查找元素的方法.list列表的查找提供了两种方式,一种是使用index方法返回元素在列表中的位置,另一种 ...

  3. MySQL分区管理

    以下是我看MySQL官方文档的时候整理的笔记,仅作参考保留. RANGE,LIST分区管理 1:为未分区表创建分区 ; 2:删除某个分区的数据 ALTER TABLE tr DROP PARTITIO ...

  4. override overload reintroduce的区别(delphi)

    1.override overload reintroduce的中文叫法是什么?   override:覆盖:overload:重载:Reintroduce:重定义 2.在子类中override或ov ...

  5. C从源码到运行发生了哪些事

    一个C/C++程序从源代码到可执行程序主要经历了四个阶段: ①预处理.包括展开宏.处理#include,#if,#ifdef等指令.删除注释.还有一些其他操作.相关命令:gcc -E或cpp ②编译. ...

  6. std::shared_ptr 和普通指针的转换

    相互转化见示例 struct test { int num; string name; }; test* pTest = new test(); std::shared_ptr<test> ...

  7. ansible系列3-pyYAML

    规则一:缩进 yaml使用一个固定的缩进风格表示数据层结构关系,Saltstack需要每个缩进级别由两个空格组成.一定不能使用tab键 注意:编写yaml文件,就忘记键盘有tab 规则二:冒号 CMD ...

  8. Sql 重置自动增长列

    Sql 重置自动增长列: dbcc checkident(表名, reseed, 0) 使用的情况,一般出现在主外键关联表,导致无法 truncate 只能delete的情况. 此时我们可能会需要重置 ...

  9. 有源汇有上下界最小流 DInic + 各种优化 模板

    例题:loj117 : https://loj.ac/problem/117 //其实就是判断可行流后倒着求一遍最大流 #include <iostream> #include <c ...

  10. java常见面试题及答案

    java常见面试题及答案 来源 https://blog.csdn.net/hsk256/article/details/49052293 来源 https://blog.csdn.net/hsk25 ...