自己写sqlhelper类

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text; namespace birthday
{
/// <summary>
/// SqlHelper
/// </summary>
[Serializable]
public class SqlHelper
{
//数据库连接字符串
private static string strConn = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString; #region ExecuteNonQuery /// <summary>
/// 执行T-sql语句 并返回受影响行数
/// </summary>
/// <param name="sql">T-sql语句</param>
/// <returns>没有受影响行数返回-1</returns>
public static int ExecuteNonQuery(string sql)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
return cmd.ExecuteNonQuery();
}
}
} /// <summary>
/// 执行T-sql语句 并返回受影响行数
/// </summary>
/// <param name="sql">T-sql语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>没有受影响行数返回-1</returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] SqlParameter)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(SqlParameter);
return cmd.ExecuteNonQuery();
}
}
} #endregion #region ExecuteScalar /// <summary>
/// 执行T-sql语句 并返回结果的第一行第一列(忽略其他列)
/// </summary>
/// <param name="sql">T-sql语句</param>
/// <returns>没有列则返回null</returns>
public static object ExecuteScalar(string sql)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
return cmd.ExecuteScalar();
}
}
} /// <summary>
/// 执行T-sql语句 并返回结果的第一行第一列(忽略其他列)
/// </summary>
/// <param name="sql">T-sql语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>没有列则返回null</returns>
public static object ExecuteScalar(string sql, params SqlParameter[] SqlParameter)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(SqlParameter);
return cmd.ExecuteScalar();
}
}
} #endregion #region ExecuteReader /// <summary>
/// 以只进流方式读取数据,查询到的数据存储在服务器中
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <returns>数据流</returns>
public static SqlDataReader ExecuteReader(string sql)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
return cmd.ExecuteReader();
}
}
} /// 以只进流方式读取数据,查询到的数据存储在服务器中
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <param name="cbh">查询结果、查询数据的说明</param>
/// <returns>数据流</returns>
public static SqlDataReader ExecuteReader(string sql, CommandBehavior CommandBehavior)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
return cmd.ExecuteReader(CommandBehavior);
}
}
} /// <summary>
/// 以只进流方式读取数据,查询到的数据存储在服务器中
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>数据流</returns>
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] SqlParameter)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(SqlParameter);
return cmd.ExecuteReader();
}
}
} /// <summary>
/// 以只进流方式读取数据,查询到的数据存储在服务器中
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>数据流</returns>
public static SqlDataReader ExecuteReader(string sql, CommandBehavior CommandBehavior, params SqlParameter[] SqlParameter)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(SqlParameter);
return cmd.ExecuteReader(CommandBehavior);
}
}
} #endregion #region ExeccutDataSet /// <summary>
/// 返回以xml描述的不依赖于数据库的独立数据集合,数据存放于客户端,相当于内存中的数据库
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <returns>数据集合</returns>
public static DataSet ExeccutDataSet(string sql)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
SqlDataAdapter _sda = new SqlDataAdapter(cmd);
DataSet _ds = new DataSet();
_sda.Fill(_ds);
return _ds;
}
}
} /// <summary>
/// 返回以xml描述的不依赖于数据库的独立数据集合,数据存放于客户端,相当于内存中的数据库
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>数据集合</returns>
public static DataSet ExeccutDataSet(string sql, params SqlParameter[] SqlParameter)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(SqlParameter);
SqlDataAdapter _sda = new SqlDataAdapter(cmd);
DataSet _ds = new DataSet();
_sda.Fill(_ds);
return _ds;
}
}
} #endregion #region ExeccutDataTable /// <summary>
/// 返回临时保存数据的网格虚拟表(表示内存中数据的一个表)
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <returns>数据虚拟表</returns>
public static DataTable ExeccutDataTable(string sql)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
SqlDataAdapter _sda = new SqlDataAdapter(cmd);
DataTable _data = new DataTable();
_sda.Fill(_data);
return _data;
}
}
} /// <summary>
/// 返回临时保存数据的网格虚拟表(表示内存中数据的一个表)
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>数据虚拟表</returns>
public static DataTable ExeccutDataTable(string sql, params SqlParameter[] SqlParameter)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
cmd.Parameters.AddRange(SqlParameter);
SqlDataAdapter _sda = new SqlDataAdapter(cmd);
DataTable _data = new DataTable();
_sda.Fill(_data);
return _data;
}
}
} #endregion #region ExecuteDataRow /// <summary>
/// 返回数据行(返回第一行,忽略其他行)
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <returns>返回数据行</returns>
public static DataRow ExecuteDataRow(string sql)
{ return SqlHelper.ExeccutDataTable(sql).Rows[0];
} /// <summary>
/// 返回数据行(返回第一行,忽略其他行)
/// </summary>
/// <param name="sql">T-sql 语句</param>
/// <param name="SqlParameter">参数</param>
/// <returns>返回数据行</returns>
public static DataRow ExecuteDataRow(string sql, params SqlParameter[] SqlParameter)
{
return SqlHelper.ExeccutDataTable(sql, SqlParameter).Rows[0];
} #endregion #region GetRecordCount /// <summary>
/// 得到数据总条数
/// </summary>
/// <param name="table">表名称</param>
/// <returns>数据总条数</returns>
public static int GetRecordCount(string table)
{
int RecordCount = 0;
string sql = "select count(*) from " + table;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out RecordCount))
{
return RecordCount;
}
else
{
return 0;
}
} /// <summary>
/// 得到数据总条数
/// </summary>
/// <param name="table">表名称</param>
/// <param name="where">过滤条件</param>
/// <returns>得到数据总条数</returns>
public static int GetRecordCount(string table, string where)
{
int RecordCount = 0;
string sql = "select count(*) from " + table + " where 1=1 and " + where;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out RecordCount))
{
return RecordCount;
}
else
{
return 0;
}
} #endregion #region GetRecordMax /// <summary>
/// 得到指定表指定列最大值
/// </summary>
/// <param name="table">表名称</param>
/// <param name="field">列名称</param>
/// <returns>最大值</returns>
public static int GetRecordMax(string table, string field)
{
int _max = 0;
string sql = "select max(" + field + ") from " + table;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _max))
{
return _max;
}
else
{
return 0;
}
} /// <summary>
/// 得到指定表指定列最大值
/// </summary>
/// <param name="table">表名称</param>
/// <param name="field">列名称</param>
/// <param name="where">过滤条件</param>
/// <returns>最大值</returns>
public static int GetRecordMax(string table, string field, string where)
{
int _max = 0;
string sql = "select max(" + field + ") from " + table + " where 1=1 and " + where;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _max))
{
return _max;
}
else
{
return 0;
}
} #endregion #region GetRecordMin /// <summary>
/// 得到指定表指定列最小值
/// </summary>
/// <param name="table">表名称</param>
/// <param name="field">列名称</param>
/// <returns>最小值</returns>
public static int GetRecordMin(string table, string field)
{
int _min = 0;
string sql = "select min(" + field + ") from " + table;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _min))
{
return _min;
}
else
{
return 0;
}
} /// <summary>
/// 得到指定表指定列最小值
/// </summary>
/// <param name="table">表名称</param>
/// <param name="field">列名称</param>
/// <param name="where">过滤条件</param>
/// <returns>最小值</returns>
public static int GetRecordMin(string table, string field, string where)
{
int _min = 0;
string sql = "select min(" + field + ") from " + table + " where 1=1 and " + where;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _min))
{
return _min;
}
else
{
return 0;
}
} #endregion #region GetRecordAvg /// <summary>
/// 得到指定表指定列平均值
/// </summary>
/// <param name="table">表名称</param>
/// <param name="field">列名称</param>
/// <returns>平均值</returns>
public static int GetRecordAvg(string table, string field)
{
int _avg = 0;
string sql = "select avg(" + field + ") from " + table;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _avg))
{
return _avg;
}
else
{
return 0;
}
} /// <summary>
/// 得到指定表指定列平均值
/// </summary>
/// <param name="table">表名称</param>
/// <param name="field">列名称</param>
/// <param name="where">过滤条件</param>
/// <returns>平均值</returns>
public static int GetRecordAvg(string table, string field, string where)
{
int _avg = 0;
string sql = "select avg(" + field + ") from " + table + " where 1=1 and " + where;
if (int.TryParse(SqlHelper.ExecuteScalar(sql).ToString(), out _avg))
{
return _avg;
}
else
{
return 0;
}
} #endregion
}
}

[置顶] 自己写sqlhelper类的更多相关文章

  1. [置顶] 自己写代码生成器之生成Dal层代码(获取数据库所有表名称)

    自己写代码生成器之生成Dal层代码(获取数据库所有表名称) --得到数据库birthday所有表名称 select name from sysobjects where [type]='U' --se ...

  2. [置顶] 自己写一个简单通用的Makefile

    转自:http://blog.csdn.net/u011913612/article/details/52102241 一.makefile的作用 Makefile是用于自动编译和链接的,一个工程有很 ...

  3. [置顶]VC2013的一个bug

    [置顶]VC2013的一个bug 前段时间在尝试使用一个C++的GUI库nana.这个库最大的特点在于使用现代C++风格去编写GUI程序,而不需要使用大量的比较丑陋的代码(如MFC中的各种宏),或者其 ...

  4. 窗口置顶 - 仿TopWind

    前置学习:低级鼠标hook,获得鼠标状态. 这个在原来获得鼠标状态的基础上,加上一个事件处理即可. TopWind就是一个可以置顶窗口的文件,避免复制粘贴的时候的来回切换(大窗口与小窗口),算是一个实 ...

  5. About me & 一些置顶的博文

    About me 一只历史上最弱的 \(\text{hnoier}\) ... 身在 \(\text{hn}\) 弱校,除了在四大名校夹缝中生存,还要受到同校 \(\text{Julao}\) 的鄙视 ...

  6. [置顶] Android开发笔记(成长轨迹)

    分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...

  7. UITableView设置Cell左滑多个按钮(编辑,删除,置顶等)

    一.iOS7不支持cell多个按钮这个时候可以使用一个三方库JZTableViewRowAction,引用类扩展文件并实现其代理方法 JZTableViewRowAction下载地址:http://d ...

  8. 仿照 QQ 的 cell 的左滑删除、置顶、标记未读效果

    侧滑删除.置顶.取消关注,在iOS8之前需要我们自定义,iOS8时苹果公司推出了新的API,UITableViewRowAction类,我们可以使用该类方便的制作出如下图的效果. 下面是实现的主要代码 ...

  9. C#或者WPF中让某个窗体置顶

    原文:C#或者WPF中让某个窗体置顶 前记:在工作中有个需求,要求不管到那个界面,我必须让一个浮动条(其实是个窗体)置顶. 我用wpf,因为有之前有好几个界面已经设置成topmost了,所以在这几个界 ...

随机推荐

  1. C++学习笔记37:元编程

    元编程 什么是元编程(metaprogramming) 利用模板可以进行编译期计算(数值计算,型式计算和代码计算)的特点进行程序设计 为什么可以进行元编程? C++是两层语言:执行编译期计算的代码称为 ...

  2. <二> SQL 基础

    left (outer) join 结果集包含连接表的匹配行,也包括左连接表的所有行. select a.a, a.b, a.c, b.c b.d b.f from a left out join b ...

  3. mvvm windows app DataBinding

    前台html 绑定(view):<div id="aa" data-win-bind="innerText:UserData.word" style=&q ...

  4. 25个App免费资源网站

    不少非常优秀的设计师已经在网络分享了很多出色的图标.界面 PSD 文件,再加上其他一些相关资源,设计 iOS 应用更加方便了. 模板 & PSDs  Icon Template Michael ...

  5. 映像备份与恢复管理工具Easy Image X使用说明

    Easy Image X(简称EIX)是一个支持Ghost映像(.gho)和ImageX映像(.wim)的映像管理工具,具有友好的图形界面,仅需几步简单操作即可完成映像备份与恢复工作.维护时使用最多的 ...

  6. 'InitializeCulture' is not a member of 'XXXX'

    今天在部署ASP.NET网页时出现一个奇怪的问题.在开发,调试时访问网页一切正常.但一部署到IIS中时就会出现以下的错误信息:'InitializeCulture' is not a member o ...

  7. 如何组织css,写出高质量的css代码

    !如何组织css一:css的API 属于基础部分,这部分的能力用“对”和“错”来评判. 比如说把文字设置为红色,只能用color:red:这种写法是对的,其他任何写法都是错的. 二:css框架 不能用 ...

  8. 按行N等分某个文件

    # --*-- coding:utf-8 --*--import randomimport math def fanhui():    into = random.randint(1, 10)    ...

  9. forward && redirect 区别介绍

    解释一 一句话,转发是服务器行为,重定向是客户端行为.为什么这样说呢,这就要看两个动作的工作流程: 转发过程:客户浏览器发送http请求---->web服务器接受此请求-->调用内部的一个 ...

  10. 网上测试了很多关于PYTHON的WEBSOCKET样例,下面这个才成功了

    这是最底层的, 嘿嘿,我 还是习惯搞个框架来实现急需要的功能... 这个东东玩得很有意思的.. 服务器端的代码: import simplejson import socket import sys ...