usingSystem;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;///
///SqlDbHelper:操作SQL Server数据库的通用类///作者:李宝亨///日期:2012-03-15///Version:1.0///
public classSqlDbHelper
{#region 字段
///
///私有字段///
private stringconnectionString;#endregion
#region 属性
///
///公共属性 数据库连接字符串///
public stringConnectiongString
{set { connectionString =value; }
}#endregion
#region 构造函数
///
///构造函数///
publicSqlDbHelper()
{//修改connectionString为项目中的数据库连接字符串//connectionString="";
}///
///构造函数///
/// 数据库连接字符串
public SqlDbHelper(stringstrConnectionString)
{
connectionString=strConnectionString;
}#endregion
#region 判断数据库是否连接
///
///判断数据库是否连接///
/// 是否连接
public boolIsConnected()
{
SqlConnection connection= newSqlConnection(connectionString);try{if (connection.State !=ConnectionState.Open)
{
connection.Open();
}return true;
}catch{return false;
}
}#endregion
#region 执行一个查询,并返回结果集
///
///执行一个查询,并返回结果集///
/// 要查询的SQL文本命令
/// 查询结果集
public DataTable ExecuteDataTable(stringsql)
{return ExecuteDataTable(sql, CommandType.Text, null);
}///
///执行一个查询,并返回结果集///
/// 要查询的SQL文本命令
/// 查询语句类型,存储过程或SQL文本命令
/// 查询结果集
public DataTable ExecuteDataTable(stringsql, CommandType commandType)
{return ExecuteDataTable(sql, commandType, null);
}///
///执行一个查询,并返回结果集///
/// 要查询的SQL文本命令
/// 查询语句类型,存储过程或SQL文本命令
/// T-SQL语句或存储过程的参数组
/// 查询结果集
public DataTable ExecuteDataTable(stringsql, CommandType commandType, SqlParameter[] parameters)
{//实例化DataTable,用于装载查询结果集
DataTable data = newDataTable();using (SqlConnection connection = newSqlConnection(connectionString))
{using (SqlCommand command = newSqlCommand(sql, connection))
{//指定CommandType
command.CommandType =commandType;if (parameters != null)
{foreach (SqlParameter parameter inparameters)
{
command.Parameters.Add(parameter);
}
}//实例化SqlDataAdapter
SqlDataAdapter adapter = newSqlDataAdapter(command);//填充DataTable
adapter.Fill(data);
}
}returndata;
}#endregion
#region 返回一个DataReader对象实例
///
///返回一个DataReader对象实例///
/// 要查询的SQL文本命令
/// DataReader对象实例
public SqlDataReader ExecuteReader(stringsql)
{return ExecuteReader(sql, CommandType.Text, null);
}///
///返回一个DataReader对象实例///
/// 要查询的SQL文本命令
/// 要执行的查询语句的类型,存储过程或SQL文本命令
/// DataReader对象实例
public SqlDataReader ExecuteReader(stringsql, CommandType commandType)
{return ExecuteReader(sql, commandType, null);
}///
///返回一个DataReader对象实例///
/// 要查询的SQL文本命令
/// 要执行的查询语句的类型,存储过程或SQL文本命令
/// T-SQL语句或存储过程的参数数组
/// DataReader对象实例
public SqlDataReader ExecuteReader(stringsql, CommandType commandType, SqlParameter[] parameters)
{
SqlConnection connection= newSqlConnection(connectionString);
SqlCommand command= newSqlCommand(sql, connection);if (parameters != null)
{foreach (SqlParameter parameter inparameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();//参数CommandBehavior.CloseConnection表示,关闭Reader对象的同时关闭Connection对象
returncommand.ExecuteReader(CommandBehavior.CloseConnection);
}#endregion
#region 执行查询结果,返回第一行的第一列
///
///执行查询结果,返回第一行的第一列///
/// 要查询的SQL文本命令
/// 返回第一行的第一列
public object ExecuteScalar(stringsql)
{return ExecuteScalar(sql, CommandType.Text, null);
}///
///执行查询结果,返回第一行的第一列///
/// 要查询的SQL文本命令
/// 要执行的查询语句的类型,存储过程或SQL文本命令
/// 返回第一行的第一列
public object ExecuteScalar(stringsql, CommandType commandType)
{return ExecuteScalar(sql, commandType, null);
}///
///执行查询结果,返回第一行的第一列///
/// 要查询的SQL文本命令
/// 要执行的查询语句的类型,存储过程或SQL文本命令
/// T-SQL语句或存储过程的参数数组
/// 返回第一行的第一列
public object ExecuteScalar(stringsql, CommandType commandType, SqlParameter[] parameters)
{object result = null;using (SqlConnection connection = newSqlConnection(connectionString))
{using (SqlCommand command = newSqlCommand(sql, connection))
{
command.CommandType=commandType;if (parameters != null)
{foreach (SqlParameter parameter inparameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();
result=command.ExecuteScalar();
}
}returnresult;
}#endregion
#region 对数据库进行增删改操作
///
///对数据库进行增删改操作///
/// 要执行的SQL文本命令
/// 返回受影响的函数
public int ExecuteNonQuery(stringsql)
{return ExecuteNonQuery(sql, CommandType.Text, null);
}///
///对数据库进行增删改操作///
/// 要执行的SQL文本命令
/// 要执行的查询语句的类型,存储过程或SQL文本命令
/// 返回受影响的函数
public int ExecuteNonQuery(stringsql, CommandType commandType)
{return ExecuteNonQuery(sql, commandType, null);
}///
///对数据库进行增删改操作///
/// 要执行的SQL文本命令
/// 要执行的查询语句的类型,存储过程或SQL文本命令
/// T-SQL语句或存储过程的参数数组
/// 返回受影响的函数
public int ExecuteNonQuery(stringsql, CommandType commandType, SqlParameter[] parameters)
{int count = 0;using (SqlConnection connection = newSqlConnection(connectionString))
{using (SqlCommand command = newSqlCommand(sql, connection))
{
command.CommandType=commandType;if (parameters != null)
{foreach (SqlParameter parameter inparameters)
{
command.Parameters.Add(parameter);
}
}
connection.Open();
count=command.ExecuteNonQuery();
}
}returncount;
}#endregion}