sqlhelper
using System;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
namespace DAL
{
/// <summary>
/// 数据库操作类
/// </summary>
public class SqlHelper
{
//从配置文件获得连接字符串
private static string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
#region 根据sql语句查询数据表 +DataTable ExcuteTable(string sql, params SqlParameter[] paras)
/// <summary>
/// 根据sql语句查询数据表
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="paras">查询参数集合</param>
/// <returns></returns>
public DataTable ExcuteTable(string sql, params SqlParameter[] paras)
{
SqlConnection conn = new SqlConnection(SqlHelper.connStr);
//创建适配器对象(卡车)
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
if (paras != null && paras.Length > 0)//如果有参数,将它添加到 适配器查询命令的 参数集合中
{
da.SelectCommand.Parameters.AddRange(paras);
}
DataTable dt = new DataTable();
//查询数据,并将返回的数据装入数据表dt
da.Fill(dt);
return dt;
}
#endregion
public DataTable ExcuteProc(string procName, params SqlParameter[] paras)
{
SqlConnection conn = new SqlConnection(SqlHelper.connStr);
SqlDataAdapter da = new SqlDataAdapter(procName, conn);
da.SelectCommand.Parameters.AddRange(paras);
da.SelectCommand.CommandType = CommandType.StoredProcedure;//设置 使用存储过程
DataTable dt = new DataTable();
//查询数据,并将返回的数据装入数据表dt
da.Fill(dt);
return dt;
}
#region 执行 增删改 操作 +int ExcuteNonQuery(string sqlStr, params SqlParameter[] paras)
/// <summary>
/// 执行 增删改 操作
/// </summary>
/// <param name="sqlStr">sql</param>
/// <param name="paras">参数数组</param>
/// <returns></returns>
public int ExcuteNonQuery(string sqlStr, params SqlParameter[] paras)
{
int res = -1;
SqlConnection conn = new SqlConnection(connStr);
//创建 命令对象 执行增删改 操作(工人),并赋值(要执行的sql语句,要走的连接通道)
SqlCommand cmd = new SqlCommand(sqlStr, conn);
//传入参数数组
cmd.Parameters.AddRange(paras);
conn.Open();//打开连接通道
res = cmd.ExecuteNonQuery();//去数据库执行操作
conn.Close();//关闭连接通道
return res;//返回受影响行数
}
#endregion
#region 执行 查询单个值 操作 +int ExcuteNonQuery(string sqlStr, params SqlParameter[] paras)
/// <summary>
/// 执行 查询单个值 操作
/// </summary>
/// <param name="sqlStr">sql</param>
/// <param name="paras">参数数组</param>
/// <returns></returns>
public object ExcuteScalar(string sqlStr, params SqlParameter[] paras)
{
object res = -1;
SqlConnection conn = new SqlConnection(connStr);
//创建 命令对象 执行增删改 操作(工人),并赋值(要执行的sql语句,要走的连接通道)
SqlCommand cmd = new SqlCommand(sqlStr, conn);
//传入参数数组
cmd.Parameters.AddRange(paras);
conn.Open();//打开连接通道
res = cmd.ExecuteScalar();//去数据库执行操作
conn.Close();//关闭连接通道
return res;//返回 查询到的第一个单元格的值
}
#endregion
}
}

浙公网安备 33010602011771号