SQLHelper.cs

using System;
using System.Data;
using System.Configuration;
using System.Data.SqlClient; namespace DAL
{
public class SQLHelper
{
#region 私有字段
//获取连接字符串
private static string ConString = ConfigurationManager.ConnectionStrings["ConString"].ConnectionString;
//创建连接对象
public static SqlConnection con = null;
//创建命令执行对象
public static SqlCommand cmd = null;
//创建向前只读数据集
public static SqlDataReader sdr = null;
//创建数据适配器
public static SqlDataAdapter adp = null;
//创建前后读取数据集
public static DataTable dt = null;
//声明一个Object对象
public static object obj = null;
#endregion #region 创建一个打开后的数据库连接对象
/// <summary>
/// 创建一个打开后的数据库连接对象
/// </summary>
/// <returns></returns>
private static SqlConnection GetOpenConnection()
{
//实例化出一个链接对象
con = new SqlConnection(ConString);
//判断是否为关闭状态
if (con.State == ConnectionState.Closed)
con.Open();
return con;
}
#endregion #region ExecuteTable
/// <summary>
/// 返回相应的数据表(无参数)
/// </summary>
/// <param name="text">要执行的语句,SQL语句或者是存储过程</param>
/// <param name="type">要执行的类型,SQL语句或者是存储过程</param>
/// <returns></returns>
public static DataTable ExecuteTable(string text, CommandType type)
{
dt = new DataTable();
using (adp = new SqlDataAdapter(text, GetOpenConnection()))
{
try
{
adp.SelectCommand.CommandType = type;
adp.Fill(dt);
}
catch (Exception ex)
{
throw ex;
}
}
return dt;
} /// <summary>
/// 返回相应的数据表(重载,使用单个参数)
/// </summary>
/// <param name="text">要执行的语句,SQL语句或者是存储过程</param>
/// <param name="para">使用的单个参数</param>
/// <param name="type">要执行的类型,SQL语句或者是存储过程</param>
/// <returns></returns>
public static DataTable ExecuteTable(string text, SqlParameter para, CommandType type)
{
dt = new DataTable();
using (adp = new SqlDataAdapter(text, GetOpenConnection()))
{
try
{
adp.SelectCommand.CommandType = type;
adp.SelectCommand.Parameters.Add(para);
adp.Fill(dt);
}
catch (Exception ex)
{
throw ex;
}
}
return dt;
} /// <summary>
/// 返回相应的数据表(重载,使用参数数组)
/// </summary>
/// <param name="text">要执行的语句,SQL语句或者是存储过程</param>
/// <param name="para">使用的参数数组</param>
/// <param name="type">要执行的类型,SQL语句或者是存储过程</param>
/// <returns></returns>
public static DataTable ExecuteTable(string text, SqlParameter[] paras, CommandType type)
{
dt = new DataTable();
using (adp = new SqlDataAdapter(text, GetOpenConnection()))
{
try
{
adp.SelectCommand.CommandType = type;
adp.SelectCommand.Parameters.AddRange(paras);
adp.Fill(dt);
}
catch (Exception ex)
{
throw ex;
}
}
return dt;
}
#endregion #region ExcuteReader
/// <summary>
/// 返回SqlDataReader数据集(不使用参数)
/// </summary>
/// <param name="text"></param>
/// <param name="type"></param>
/// <returns></returns>
public static SqlDataReader ExcuteReader(string text, CommandType type)
{
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
throw ex;
}
return sdr;
}
} /// <summary>
/// 重载,返回SqlDataReader数据集(使用单个参数)
/// </summary>
/// <param name="text">要执行的SQL语句或是存储过程</param>
/// <param name="para">要使用的单个参数</param>
/// <param name="type">SQL语句或是存储过程</param>
/// <returns></returns>
public static SqlDataReader ExcuteReader(string text, SqlParameter para, CommandType type)
{
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
cmd.Parameters.Add(para);
sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
throw ex;
}
return sdr;
}
} /// <summary>
/// 重载,返回SqlDataReader数据集(使用参数数组)
/// </summary>
/// <param name="text">要执行的SQL语句或是存储过程</param>
/// <param name="para">要使用的单个参数数组</param>
/// <param name="type">SQL语句或是存储过程</param>
/// <returns></returns>
public static SqlDataReader ExcuteReader(string text, SqlParameter[] paras, CommandType type)
{
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
cmd.Parameters.AddRange(paras);
sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
throw ex;
}
return sdr;
}
}
#endregion #region ExcuteScalar
/// <summary>
/// 返回数据集第一行第一列的值
/// </summary>
/// <param name="text"></param>
/// <param name="type"></param>
/// <returns></returns>
public static object ExcuteScalar(string text, CommandType type)
{
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
obj = cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
}
return obj;
} /// <summary>
/// 重载(返回数据集合第一行第一列的值)
/// </summary>
/// <param name="text">要执行的SQL语句或是存储过程</param>
/// <param name="para">要使用的单个参数</param>
/// <param name="type">SQL语句或者是存储过程</param>
/// <returns></returns>
public static object ExcuteScalar(string text, SqlParameter para, CommandType type)
{
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
cmd.Parameters.Add(para);
obj = cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
}
return obj;
} /// <summary>
/// 重载(返回数据集合第一行第一列的值)
/// </summary>
/// <param name="text">要执行的SQL语句或是存储过程</param>
/// <param name="para">要使用的参数数组</param>
/// <param name="type">SQL语句或者是存储过程</param>
/// <returns></returns>
public static object ExcuteScalar(string text, SqlParameter[] paras, CommandType type)
{
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
cmd.Parameters.AddRange(paras);
obj = cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
}
return obj;
}
#endregion #region ExecuteNonQuery
/// <summary>
/// 返回受影响的行数(不使用参数)
/// </summary>
/// <param name="text">要执行的SQL语句或者是存储过程</param>
/// <param name="type">执行SQL语句或者是存储过程</param>
/// <returns></returns>
public static int ExecuteNonQuery(string text, CommandType type)
{
int i = 0;
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
i = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
}
return i;
} /// <summary>
/// 返回受影响的行数(重载,使用单个参数)
/// </summary>
/// <param name="text">要执行的SQL语句或者是存储过程</param>
/// <param name="para">要使用的单个参数</param>
/// <param name="type">执行SQL语句或者是存储过程</param>
/// <returns></returns>
public static int ExecuteNonQuery(string text, SqlParameter para, CommandType type)
{
int i = 0;
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
cmd.Parameters.Add(para);
i = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
}
return i;
} /// <summary>
/// 返回受影响的行数(重载,使用参数数组)
/// </summary>
/// <param name="text">要执行的SQL语句或者是存储过程</param>
/// <param name="para">要使用的参数数组</param>
/// <param name="type">执行SQL语句或者是存储过程</param>
/// <returns></returns>
public static int ExecuteNonQuery(string text, SqlParameter[] paras, CommandType type)
{
int i = 0;
using (cmd = new SqlCommand(text, GetOpenConnection()))
{
try
{
cmd.CommandType = type;
cmd.Parameters.AddRange(paras);
i = cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
}
return i;
}
#endregion
}
}

  

命名空间待修改:

 namespace Paint.Command //待修改

异常处理待修改(默认为WinForm):

 try
{ }
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示");
}

C#、WinForm、ASP.NET - SQLHelper.cs的更多相关文章

  1. C#、WinForm、ASP.NET - Md5散列加密

     MD5值概念解释: 转载自:http://free0007.iteye.com/blog/2047163 所 谓MD5,即"Message-Digest Algorithm 5(信息-摘要 ...

  2. .NET各大平台数据列表控件绑定原理及比较(WebForm、Winform、WPF)

    说说WebForm: 数据列表控件: WebForm 下的列表绑定控件基本就是GridView.DataList.Repeater:当然还有其它DropDownList.ListBox等. 它们的共同 ...

  3. MSSQL、C# 、Winform、ASP.NET - 数据库备份与还原模块

    数据库备份还原类: using System; using System.Collections.Generic; using System.Linq; using System.Text; usin ...

  4. ASP.NET、WinForm、C# - 配置文件信息读取 [ Web.config || Appconfig ]

    <configuration> <appSettings> <add key="name" value="HF_Ultrastrong&qu ...

  5. C#、winform、wpf将类控件放进工具箱里

    有时我们需要将vs自带的控件的某一些方法或属性进行一些修改,我们通常会新建一个类来继承它然后对它的方法或属性进行修改,那么我们如何将修改完成的控件类变成可视化控件放到工具箱中便于使用呢? 很简单,只要 ...

  6. WCF 添加 RESTful 支持,适用于 IIS、Winform、cmd 宿主

    You can expose the service in two different endpoints. the SOAP one can use the binding that support ...

  7. Ninject 在 Winform、 Asp.net MVC中连络EntityFramework的应用

    Ninject 在 Winform. Asp.net MVC中连络EntityFramework的应用( 注入同一个DbContext的应用名人名言:科学是老老实实的东西,它要靠许许多多人民的劳动和智 ...

  8. C#、ASP.NET、WinForm - 实现邮件发送的功能

    转载自:http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/14/2212255.html 发送邮件所用的核心知识点 微软封装好的Mail ...

  9. c#、sql、asp.net、js、ajax、jquery大学知识点笔记

    <table cellSpacing="0" cellPadding="0" width="609" height="470 ...

随机推荐

  1. BZOJ 3038: 上帝造题的七分钟2

    3038: 上帝造题的七分钟2 Description XLk觉得<上帝造题的七分钟>不太过瘾,于是有了第二部. "第一分钟,X说,要有数列,于是便给定了一个正整数数列. 第二分 ...

  2. STL--stack/queue的使用方法

    stack(栈)和queue(队列)也是在程序设计中经常会用到的数据容器,STL为我们提供了方便的stack(栈)的queue(队列)的实现. 准确地说,STL中的stack和queue不同于vect ...

  3. mac .bash_profile环境变量汇总

    export CATALINA_HOME=/Applications/MyApplications/apache-tomcat-7.0.54 export PATH=$PATH:$CATALINA_H ...

  4. 为joomla加入�下拉菜单的方法

    用 Joomla! 建站的大多数站长都须要在站点前台使用下拉菜单(dropdown menu),或者叫弹出菜单(slide menu),由于这样能够在有限的页面空间上公布很多其它的导航菜单,而且能够进 ...

  5. CentOS 64位上编译 Hadoop 2.6.0

    Hadoop不提供64位编译好的版本号,仅仅能用源代码自行编译64位版本号. 学习一项技术从安装開始.学习hadoop要从编译開始. 1.操作系统编译环境 yum install cmake lzo- ...

  6. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

  7. c++ 虚析构函数[避免内存泄漏]

    c++  虚析构函数: 虚析构函数(1)虚析构函数即:定义声明析构函数前加virtual 修饰, 如果将基类的析构函数声明为虚析构函数时,由该基类所派生的所有派生类的析构函数也都自动成为虚析构函数. ...

  8. tomcat虚拟主机虚拟目录配置

    今天着实要记上一笔,需要配置tomcat虚拟目录的问题 一 首先看两个名词 appBase -- 顾名思义 就是你app所在的目录,目录下面的子目录将自动被部署为应用:war被解压并部署 docBas ...

  9. POJ 1830 【高斯消元第一题】

    首先...使用abs()等数学函数的时候,浮点数用#include<cmath>,其它用#include<cstdlib>. 概念: [矩阵的秩] 在线性代数中,一个矩阵A的列 ...

  10. iOS开发之计算动态cell的高度并缓存

    项目中有个类似微博那样的动态cell,文字和图片的多少都不是确定的 刚开始使用autolayout,结果很多问题,最后我发现了一个框架 FDTemplateLayoutCell 写的很好,自动布局ce ...