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通用类库的更多相关文章

  1. DB通用类:Sqlite通用类库

    Sqlite通用类库 using System; using System.Collections; using System.Collections.Generic; using System.IO ...

  2. 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部分扩展通用类库做了说明,这篇继续对通用类库做扩展.写的 ...

  3. 同时使用ADO与Excel类库冲突的问题

    客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...

  4. DB通用类:SQL Server 通用类库

    SQLServer通用类A using System; using System.Data; using System.Data.SqlClient; using System.Collections ...

  5. ADO.NET 【类库】【与数据库的连接】

    ADO.NET是什么,有什么用 数据库访问技术 ado.net可让开发人员以一致的方式存取资料来源, 资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取.处理及更新其中所含的 ...

  6. C#通用类库整理--字符串处理类

    在程序开发中通常需要将字符串转为自己想要的结果,以下三个类库主要实现: 1.GetStrArray(string str, char speater, bool toLower)  把字符串按照分隔符 ...

  7. C#通用类库整理--日志记录

    日志的记录是将程序过程中的一些行为数据记录下来,方便开发.运维迅速的找到问题的所在,节省时间.使用时在 站点的web.config 中的<appSettings></appSetti ...

  8. Ado.net 通用访问类

    public class DbHelperSQL { private static string connString = ConfigurationManager.ConnectionStrings ...

  9. 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的不同之处),但大部分还是相同的. ...

随机推荐

  1. 滑稽的下午--angularjs 2.0管道的使用

    虽然angular 已经迎来4.0时代,可我还在苦逼的看2.0. 下午有个任务: 让一个component组件里的时间显示当前时间并自动刷新. 过程: 1.首先获取当前时间 new Date(); 2 ...

  2. vue+springboot前后端分离实现单点登录跨域问题处理

    最近在做一个后台管理系统,前端是用时下火热的vue.js,后台是基于springboot的.因为后台系统没有登录功能,但是公司要求统一登录,登录认证统一使用.net项目组的认证系统.那就意味着做单点登 ...

  3. sqllite小型数据库的使用

    1.适用场景:免安装型数据库:数据量不大,本地化管理:不依赖其他第三方类库:2.具体使用方法:添加sqllite类库引用 数据库连接定义,数据库以文件形式存储在sqllitedb/solution.d ...

  4. 基于百度地图SDK和Elasticsearch GEO查询的地理围栏分析系统(2)-查询实现

    在上一篇博客中,我们准备好了数据.现在数据已经以我们需要的格式,存放在Elasticsearch中了. 本文讲述如何在Elasticsearch中进行空间GEO查询和聚合查询,以及如何准备ajax接口 ...

  5. java1.8--Null Object模式

    整理这篇博客是因为现在在整理java8中的optional,所以觉得很有必要整理下Null Object模式.java.lang.NullPointerException,只要敢自称Java程序员,那 ...

  6. 怎样查看MYSQL数据库的端口号

    show variables like '%port%';

  7. zabbix action理解

    Maintenance status not in maintenance   谷歌翻译:维护状态不在维护中,中文意思就是监控的设备有problem,触发器报警了,然后执行action {TRIGGE ...

  8. 【转】matlab图形句柄详解(一)

    在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄,句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达 ...

  9. python自动化运维常用模块安装

    1.系统信息性能模块:psutil 源码安装: wget https://pypi.python.org/packages/source/p/psutil/psutil-2.0.0.tar.gz -- ...

  10. Mysql了解及安装

    1.数据库由两部分来构成的 打开一个连接工具,用工具给MySQL发送命令,实际上是给数据库当中的服务下的命令,在服务当中解析命令,最终将命令转化成对物理库上文件IO的操作. 所以数据库的安装位置有两个 ...