ADO.NET通用类库
using System.Data;
using System.Data.SqlClient; namespace DataService
{
public class SQLHelper
{
public static readonly string connString = "Server=127.0.0.1;Database=WinFormDemo;uid=sa;pwd=123"; #region ExecuteNonQuery
/// <summary>
/// 不带参数的ExcuteNonQuery
/// </summary>
public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = ;
using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
int val = cmd.ExecuteNonQuery();
return val;
}
} /// <summary>
/// 带参数的ExcuteNonQuery
/// </summary>
public static int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = ;
using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val; }
}
#endregion ExecuteNonQuery #region ExecuteScalar
/// <summary>
/// 不带参数的ExecuteScalar
/// </summary>
public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = ;
using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
object val = cmd.ExecuteScalar();
return val;
}
} /// <summary>
/// 带参数的ExecuteScalar
/// </summary>
public static object ExecuteScalar(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = ;
using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
object val = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return val;
}
}
#endregion ExecuteScalar #region ExecuteReader
/// <summary>
/// 不带参数的ExecuteReader
/// </summary>
public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString);
cmd.CommandTimeout = ;
try
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return rdr;
}
catch
{
conn.Close();
throw;
}
} /// <summary>
/// 带参数的ExecuteReader
/// </summary>
public static SqlDataReader ExecuteReader(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
SqlConnection conn = new SqlConnection(connString);
cmd.CommandTimeout = ;
try
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return rdr;
}
catch
{
conn.Close();
throw;
}
}
#endregion ExecuteReader #region ExecuteDataSet
/// <summary>
/// 不带参数的ExecuteDataSet,可以分页
/// </summary>
public static DataSet ExecuteDataset(string connString, CommandType cmdType, string cmdText)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = ;
using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, (SqlParameter[])null);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "dtable");
cmd.Parameters.Clear();
return ds;
}
} /// <summary>
/// 带参数的ExecuteDataSet,可以分页
/// </summary>
public static DataSet ExecuteDataset(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
cmd.CommandTimeout = ;
using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, (SqlTransaction)null, cmdType, cmdText, cmdParms);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds, "dtable");
cmd.Parameters.Clear();
return ds;
}
}
#endregion ExecuteDataSet #region PrepareCommand
/// <summary>
/// 初始化工作
/// </summary>
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
{ if (conn.State != ConnectionState.Open)
conn.Open(); cmd.Connection = conn;
cmd.CommandText = cmdText; if (trans != null)
cmd.Transaction = trans; cmd.CommandType = cmdType; if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
}
#endregion PrepareCommand
}
}
ADO.NET通用类库的更多相关文章
- DB通用类:Sqlite通用类库
Sqlite通用类库 using System; using System.Collections; using System.Collections.Generic; using System.IO ...
- Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.1
在上篇 Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.0 已经对Win8.1和WP8.1部分扩展通用类库做了说明,这篇继续对通用类库做扩展.写的 ...
- 同时使用ADO与Excel类库冲突的问题
客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...
- DB通用类:SQL Server 通用类库
SQLServer通用类A using System; using System.Data; using System.Data.SqlClient; using System.Collections ...
- ADO.NET 【类库】【与数据库的连接】
ADO.NET是什么,有什么用 数据库访问技术 ado.net可让开发人员以一致的方式存取资料来源, 资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取.处理及更新其中所含的 ...
- C#通用类库整理--字符串处理类
在程序开发中通常需要将字符串转为自己想要的结果,以下三个类库主要实现: 1.GetStrArray(string str, char speater, bool toLower) 把字符串按照分隔符 ...
- C#通用类库整理--日志记录
日志的记录是将程序过程中的一些行为数据记录下来,方便开发.运维迅速的找到问题的所在,节省时间.使用时在 站点的web.config 中的<appSettings></appSetti ...
- Ado.net 通用访问类
public class DbHelperSQL { private static string connString = ConfigurationManager.ConnectionStrings ...
- Windows.Andy.Code4App.dll Win8.1/WP8.1通用类库@ver1.0.0
直接入题! Win8.1和WP8.1眼下已经渐渐融为一体,WP8.1不断向Win8.1靠拢,虽然一些方法上WP8.1和Win8.1不同(ps:WP8.1和Win8.1的不同之处),但大部分还是相同的. ...
随机推荐
- 运行android程序的时分出现了No compatible targets were found.Do you wish to.
这个错误是说明没有android虚拟机,那么新建一个就OK了. 假如出现了这个状况,就点击yes,然后new一个. 具体方案如下,(可自定义.仅供参考)
- 02_HTML5+CSS详解第一天
视频来源:麦子学院 讲师:朱朝兵 HTML5概念:HTML即超文本标记语言(HyperText Makeup Language),是一种语法简单,结构清晰的解释型文档,不同于其他编程语言. HTML5 ...
- 【转】SHELL variables default value, ${var:-DEFAULT}和${var=DEFAULT}的一点区别
${var:-DEFAULT}和${var=DEFAULT}的区别: ${var:-DEFAULT} If var not set or is empty, evaluate expression a ...
- AM解调的FPGA实现
一.说明: 功能:AM解调 平台:Vivado 2016.4 和 Matlab R2017a 二.原理: 1.AM解调原理 模拟电路中采用"包络检波"的方法: 数字电路中采用类似的 ...
- vue调试神器vue-devtools安装
vue-devtools安装 vue-devtools是一款用来调试Vue应用的Chrome插件,可极大提高开发者调试项目效率,接着我们说一下如何下载安装这个插件; 一. 从chrome商店直接下载安 ...
- C#面向对象方式设置、读取应用配置
关注点: 1.用面向对象方式的方式(get,set)访问和设置配置项 2.“CallerMemberName”在.net 4以下的变通方式 最后一周了,大伙都进入过年模式了.身还在,心已远.最近事情不 ...
- php动态编辑zlib扩展
linux系统上,在php已经编译安装的情况下,启用zlib扩展不是那么容易,需要动态编译 以下是编译步骤: cd ./ext/zlib mv config0.m4 config.m4 /usr/lo ...
- 为什么说http协议是无状态的?
首先了解基本概念:什么是无状态,什么是无连接 无状态协议: 协议的状态是指下一次传输可以“记住”这次传输信息的能力. http是不会为了下一次连接而维护这次连接所传输的信息,为了保证服务器内存. 比如 ...
- python+xlsxwriter+PIL自动压图贴图到Excel小工具
一.环境 windows10/mac + python3.6 python第三方库 xlsxwriter.PIL.argparse 二.需求 1.运行每条测试case成功与否都需要把截图放在img文件 ...
- Keil中搭建自动化单元测试框架Unity
前言: 虽然一些C++的自动化单元测试框架也能用来C语言单元测试,但那样我们编写C语言程序时需要符合C++的标准,这样有一些C的特性是无法使用的,限制C的特性使用不太好,于是找了一个全部用C实现的自动 ...