OracleHelper与SqlServerHelper

1、OracleHelper

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Oracle.DataAccess.Client;

namespace OracleDBDemo
{
    public class OracleHelper
    {

        private static string oracleConnectionStr = ConfigurationManager.ConnectionStrings["OracleConnectionString"].ToString();


        public static DataTable ExecuteDataTable(string sql,params OracleParameter[] paramList)
        {
            using (OracleConnection conn = new OracleConnection(oracleConnectionStr))
            {
                conn.Open();

                using (OracleCommand command = conn.CreateCommand())
                {
                    command.CommandText = sql;

                    command.Parameters.AddRange(paramList);

                    DataTable dt = new DataTable();

                    OracleDataAdapter adapter = new OracleDataAdapter(command);

                    adapter.Fill(dt);

                    return dt;
                }
            }
        }

        public static int ExecuteNonQuery(string sql, params OracleParameter[] paramList)
        { 
            using(OracleConnection conn = new OracleConnection(oracleConnectionStr))
            {
                conn.Open();
                using (OracleCommand command = conn.CreateCommand())
                {
                    command.CommandText = sql;
                    command.Parameters.AddRange(paramList);

                    return command.ExecuteNonQuery();
                }
            }
        }

        public static object ExecuteScalar(string sql, params OracleParameter[] paramList)
        {
            using (OracleConnection conn = new OracleConnection(oracleConnectionStr))
            {
                conn.Open();
                using (OracleCommand command = conn.CreateCommand())
                {
                    command.CommandText = sql;
                    command.Parameters.AddRange(paramList);

                    return command.ExecuteScalar();
                }
            }
        }
    }
}

2、SqlServerHelper

using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using System.Data.Common;

namespace OracleDBDemo
{
    public class SqlServerHelper
    {

        private static string sqlConnenctionStr = ConfigurationManager.ConnectionStrings["SqlServerConnectionString"].ToString();

       
        public static DataTable ExecuteDataTable(string sql,params SqlParameter[] paramList)
        {
            using(SqlConnection conn = new SqlConnection(sqlConnenctionStr))
            {
                 conn.Open();
             
                 using(SqlCommand command = conn.CreateCommand())
                {
                    command.CommandText = sql;
                    command.Parameters.AddRange(paramList);

                    DataTable dt = new DataTable();

                    SqlDataAdapter adapter = new SqlDataAdapter(command);

                     
                    adapter.Fill(dt);

                     return dt;
                }
            }
        }

        public static int ExecuteNonQuery(string sql, params SqlParameter[] paramList)
        {

            using (SqlConnection conn = new SqlConnection(sqlConnenctionStr))
            {
                conn.Open();

                using (SqlCommand command = conn.CreateCommand())
                {
                    command.CommandText = sql;
                    command.Parameters.AddRange(paramList);

                    return command.ExecuteNonQuery();
                }
            }
            
        }

        public static object ExecuteScalar(string sql, params SqlParameter[] paramList)
        {
            using (SqlConnection conn = new SqlConnection(sqlConnenctionStr))
            {
                conn.Open();
                using (SqlCommand command = conn.CreateCommand())
                {
                    command.CommandText = sql;

                    command.Parameters.AddRange(paramList);

                    object obj = command.ExecuteScalar();

                    return obj;

                }
            }
        }


    }
}

3、web.config

<connectionStrings>
<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"/>
<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"/>

</connectionStrings>

 4、数据测试

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using Oracle.DataAccess.Client;

namespace OracleDBDemo
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            OracleExecuteNonQuery();
        }

        #region SqlServer

        private void SqlServerExecuteDataTable()
        {
            string sql = "select * from Account";

            DataTable dt = SqlServerHelper.ExecuteDataTable(sql);
        }

        private void SqlServerExecuteNonQuery()
        {
            string sql = "insert into Account(AccountName,createtime) values(@name,@time)";

            SqlServerHelper.ExecuteNonQuery(sql, new SqlParameter("@name", "你好屌!!!"), new SqlParameter("@time", DateTime.Now));
        }

        private void SqlServerExecuteScalar()
        {
            string sql = "select max(id) from account where AccountName=@name";

            object obj = SqlServerHelper.ExecuteScalar(sql, new SqlParameter("@name", "ff"));
            Response.Write(obj.ToString());
        }
        
        #endregion


        #region Oracle

        private void OracleExecuteDataTable()
        {
            string sql = "select * from AccountInfo";

            DataTable dt = OracleHelper.ExecuteDataTable(sql);
        }

        private void OracleExecuteNonQuery()
        {
            string sql = "insert into AccountInfo(id,AccountInfoName) values(:id,:name)";

            OracleHelper.ExecuteNonQuery(sql,  new OracleParameter(":id", 44),new OracleParameter(":name", "你好屌!!!"));
        }

        private void OracleExecuteScalar()
        {
            string sql = "select max(id) from account where AccountName=@name";

            object obj = SqlServerHelper.ExecuteScalar(sql, new SqlParameter("@name", "ff"));
            Response.Write(obj.ToString());
        }

        #endregion
    }
}

备注:

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

原文地址:https://www.cnblogs.com/zoro-zero/p/4378696.html