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", ),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 参数语法需要使用“:”作为参数占位符。
*/
OracleHelper与SqlServerHelper的更多相关文章
- 话说C#程序员人手一个ORM
话说C#程序员人手一个ORM,确实没有必要再写ORM了,不过我的ORM并不是新的,是从DBHelper演化过来的,算是DBHelper魔改版. 目前流行的ORM有EF.Dapper.SqlSugar. ...
- OracleHelper类
using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...
- 分享一个oraclehelper
分享一个拿即用的oraclehelper 首先要引用本机中的oralce access,如果是64位的话,也必须是64位运行,不然会报连接为空connection 等于null. using Orac ...
- 丰富自己的代码库-SqlServerHelper(Ado)
设计思路很简单,就是把数据封装为DataTable类,封装了类型转换,使用者可以不必考虑任何类型转换,而使用VC提供的CString即可.封装了按行号查找功能,先看代码 #pragma once #i ...
- OracleHelper数据库事务处理
原理:需要开启事务的Action贴上Transaction标签,则Action执行前开启事务,Action执行完提交事务,如果Action报错,则回滚事务. OracleHelper代码: using ...
- OracleHelper(对增删改查分页查询操作进行了面向对象的封装,对批量增删改操作的事务封装)
公司的一个新项目使用ASP.NET MVC开发,经理让我写个OracleHelper,我从网上找了一个比较全的OracleHelper类,缺点是查询的时候返回DataSet,数据增删改要写很多代码(当 ...
- 『片段』OracleHelper (支持 多条SQL语句)
C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...
- OracleHelper
/// <summary> /// OracleServer数据库访问的通用工具类 /// </summary> public abstract class OracleHel ...
- OracleHelper(for produce)
OracleHelper中,有一个用存储过程实现的Insert方法. 然后我把执行存储过程的方法 封装成了可以执行任何存储过程,参数是 存储过程名称 以及存错过程中的传入.传出参数 using Ora ...
随机推荐
- pandas切片使用和column赋值
#-*- coding: utf-8 -*- #对数据进行基本的探索 #返回缺失值个数以及最大最小值 import pandas as pd datafile= '../data/air_data.c ...
- 使用TensorFlow实现分类
这一节使用TF搭建一个简单的神经网络用于分类任务,首先把需要的包引入,另外为了防止在多次运行中一些图中的tensor在内存中影响实验,采取重置操作: import tensorflow as tf i ...
- selenium之下载
# 测试下载功能,保存文件到指定的目录 # 不同的浏览器配置是不同的,本例使用chrome浏览器 # author:gongxr # date:2017-07-25 import time from ...
- Bootstrap输入框组
前面的话 有时,我们需要将文本输入框(input group)和文件或者小icon组合在一起进行显示, 我们称之为addon.也就是通过在文本输入框 <input> 前面.后面或是两边加上 ...
- 主成分分析PCA(Principal Component Analysis)在sklearn中的应用及部分源码分析
最近太忙,又有一段时间没写东西了. pca是机器学习中一个重要的降维技术,是特征提取的代表.关于pca的实现原理,在此不做过多赘述,相关参考书和各大神牛的博客都已经有各种各样的详细介绍. 如需学习相关 ...
- linux-shell系列7-ssh密匙生成分发
sshpass 该软件就是为ssh提供密码使用的yum install sshpass -y 批量分发脚本内容 #!/bin/bash. /etc/rc.d/init.d/functions # ...
- cygwin jdk11u
cygwin jdk11u 安装 Cygwin64 下载地址 https://cygwin.com/setup-x86_64.exe Cygwin 国内源 中科大镜像源 http://mirro ...
- 创建首个 Android 项目
Android 项目包括构成你的 Android 应用的源代码的所有文件. 利用 Android SDK 工具可以简单的创建 默认项目目录和文件来开始一个新的 Android 项目. 本节课展示了如何 ...
- emwin之在WM_INIT_DIALOG分支下使用带触发功能的函数的程序框架
@2018-08-29 [小记] 为避免在窗口创建时由于使用了带触发功能的函数导致执行一些在初始化过程中不允许的操作,特整理一个流程架构 --① 定义一个初始化完成的标志 unsigned ; --② ...
- poj1185炮兵阵地 正确代码及错误代码分析
Solution:状态压缩 因为设置炮兵的局限性(同行两炮兵相差要大于2),一行10个数最多有60种可能性(程序计算) 其中判断可能性的好方法是: if ((i & (i << 1 ...