自己写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. hdu 1828 Picture(线段树 || 普通hash标记)

    http://acm.hdu.edu.cn/showproblem.php?pid=1828 Picture Time Limit: 6000/2000 MS (Java/Others)    Mem ...

  2. Mongodb介绍

    MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前noSql数据库产品中最热门的一种.它在许多场景下用于替代传统的关系型数据库或键值对存储方式,MongoDB是用C++开发,MongoD ...

  3. 转:Java Annotation详解

    转载自:http://william750214.javaeye.com/blog/298104 元数据的作用 如果要对于元数据的作用进行分类,目前还没有明确的定义,不过我们可以根据它所起的作用,大致 ...

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

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

  5. BT5升级MSF至Git更新的方法

    由于Kali在虚拟机的运行效率实在让人不敢恭维,于是决心将BT5中的MSF进行升级,升级的主要目的是,BT5R3内置的MSF是用SVN进行更新, 但是新版本的MSF已经停止通过SVN更新,改用Git, ...

  6. ASP.NET控件Button (e.CommandArgument的使用方法)

    e.CommandArgument的使用方法 1. 在 Web 窗体页上显示普通按钮 (Button) 控件. <asp:Button id="MyButton" Text= ...

  7. asp.net上传图片(简单)

    FileUpload: protected void UploadButton_Click(object sender, EventArgs e) { : Convert.ToInt64(Reques ...

  8. Android 应用程序窗口化

    Android 应用程序窗口化与 Store 应用程序窗口化-Android,Windows,better,chrome,archon-远景-Win8|Win8.1|Windows8.1|Win10| ...

  9. JNI编程(一) —— 编写一个最简单的JNI程序

    来自:http://chnic.iteye.com/blog/198745 忙了好一段时间,总算得了几天的空闲.貌似很久没更新blog了,实在罪过.其实之前一直想把JNI的相关东西整理一下的,就从今天 ...

  10. Wpf配置文件属性

    public MainWindow() { InitializeComponent(); this.WindowState = Properties.Settings.Default.WindowSt ...