[置顶] 自己写sqlhelper类
自己写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类的更多相关文章
- [置顶] 自己写代码生成器之生成Dal层代码(获取数据库所有表名称)
自己写代码生成器之生成Dal层代码(获取数据库所有表名称) --得到数据库birthday所有表名称 select name from sysobjects where [type]='U' --se ...
- [置顶]
自己写一个简单通用的Makefile
转自:http://blog.csdn.net/u011913612/article/details/52102241 一.makefile的作用 Makefile是用于自动编译和链接的,一个工程有很 ...
- [置顶]VC2013的一个bug
[置顶]VC2013的一个bug 前段时间在尝试使用一个C++的GUI库nana.这个库最大的特点在于使用现代C++风格去编写GUI程序,而不需要使用大量的比较丑陋的代码(如MFC中的各种宏),或者其 ...
- 窗口置顶 - 仿TopWind
前置学习:低级鼠标hook,获得鼠标状态. 这个在原来获得鼠标状态的基础上,加上一个事件处理即可. TopWind就是一个可以置顶窗口的文件,避免复制粘贴的时候的来回切换(大窗口与小窗口),算是一个实 ...
- About me & 一些置顶的博文
About me 一只历史上最弱的 \(\text{hnoier}\) ... 身在 \(\text{hn}\) 弱校,除了在四大名校夹缝中生存,还要受到同校 \(\text{Julao}\) 的鄙视 ...
- [置顶] Android开发笔记(成长轨迹)
分类: 开发学习笔记2013-06-21 09:44 26043人阅读 评论(5) 收藏 Android开发笔记 1.控制台输出:called unimplemented OpenGL ES API ...
- UITableView设置Cell左滑多个按钮(编辑,删除,置顶等)
一.iOS7不支持cell多个按钮这个时候可以使用一个三方库JZTableViewRowAction,引用类扩展文件并实现其代理方法 JZTableViewRowAction下载地址:http://d ...
- 仿照 QQ 的 cell 的左滑删除、置顶、标记未读效果
侧滑删除.置顶.取消关注,在iOS8之前需要我们自定义,iOS8时苹果公司推出了新的API,UITableViewRowAction类,我们可以使用该类方便的制作出如下图的效果. 下面是实现的主要代码 ...
- C#或者WPF中让某个窗体置顶
原文:C#或者WPF中让某个窗体置顶 前记:在工作中有个需求,要求不管到那个界面,我必须让一个浮动条(其实是个窗体)置顶. 我用wpf,因为有之前有好几个界面已经设置成topmost了,所以在这几个界 ...
随机推荐
- <四> jQuery 事件
$(document).ready(function) 将函数绑定到文档的就绪事件(当文档完成加载时) $(selector).click(function) 触发或将函数绑定到被选元素的点击事件 $ ...
- fatal error C1853
http://myswirl.blog.163.com/blog/static/513186422011827105224739/ 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C ...
- python的split用法
Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!!这里这样写的原因只是为了方便理解,仅此而已. 1. 按照某一个分隔符分割一个字符串: >>> ...
- xxx couldn't be loaded because it has not been added to the build settings.
这个由于没有将进入场景放入Build Settings里面造成的.
- [转载]MongoDB开发学习(1)开天辟地,经典入门
原文地址:http://www.cnblogs.com/xumingxiang/archive/2012/04/08/2437468.html 如果你从来没有接触MongoDB或对MongoDB有一点 ...
- 关于PIL库的一些概念
关于PIL库的一些概念 pil能处理的图片类型pil可以处理光栅图片(像素数据组成的的块). 通道一个图片可以包含一到多个数据通道,如果这些通道具有相同的维数和深度,Pil允许将这些通道进行叠加 模式 ...
- JDBC MySQL字段类型为datetime的数据取出(util.Date)
使用ResultSet的getTimestamp方法获取java.util.Date型数据 java.util.Date time = rs.getTimestamp("time" ...
- flash中函数的理解
flash 中的函数, 只有在调用时,会分配 数据地址(参数数据,返回数据等)和代码地址. 并运行语句,得到结果(返回数据). 结果(返回数据)赋值后 函数调用结束,释放所有建立的所有空间. ---- ...
- [状压dp]HDOJ1565 方格取数(1)
中文题~~ 题意略 $n\le 20$ ! 很明显是状压! #include <cstdio> #include <cstdlib> #include <cstring& ...
- Java多态的体现之接口
/** * * @author Administrator * 功能:接口体现多态 */ package com.test4; public class Test { public static vo ...