封装的工具类,提供ExectuNoQurey、ExecuteScalar、ExecuteReader、ExecuteSqlDataAdapter四中与数据库交互的方法。
ExectuNoQurey()方法:用于增、删、改数据
ExecuteScalar()方法: 用于单个数据查询
ExecuteReader()方法:用于读取多行数据,通过SqlDataReader类型数据返回
ExecuteSqlDataAdapter()方法:用于读取多行数据,通过DataTable类型数据返回
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _03登入MD5
{
public static class SqlHelper
{
public static readonly string conStr = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
/// <summary>
/// 增删该数据
/// </summary>
/// <param name="sqlStr">Sql语句</param>
/// <param name="commandtyp">Sql语句类型:存储过程或是Sql语句</param>
/// <param name="par">语句带的参数</param>
/// <returns>返回影响行数</returns>
public static int ExectuNoQurey(string sqlStr, CommandType commandtyp, params SqlParameter[] pars)
{
using (SqlConnection conn = new SqlConnection(conStr))
{
using (SqlCommand comm = new SqlCommand(sqlStr, conn))
{
comm.CommandType = commandtyp; // 设置接收的是 存储过程,还是SQL语句
comm.Parameters.AddRange(pars); //设置参数
conn.Open();
int count = comm.ExecuteNonQuery();
return count;
}
}
}
/// <summary>
/// 单个查询
/// </summary>
/// <param name="sqlStr">Sql语句</param>
/// <param name="commandType">Sql语句类型:存储过程或是Sql语句</param>
/// <param name="">语句带的参数</param>
/// <returns>返回单个值</returns>
public static object ExecuteScalar(string sqlStr, CommandType commandType, params SqlParameter[] pars)
{
using (SqlConnection conn = new SqlConnection(conStr))
{
using (SqlCommand comm = new SqlCommand(sqlStr, conn))
{
comm.CommandType = commandType;
comm.Parameters.AddRange(pars);
conn.Open();
return comm.ExecuteScalar();
}
}
}
/// <summary>
/// 读取多行数据
/// </summary>
/// <param name="sqlStr">Sql语句</param>
/// <param name="commandType">Sql语句类型:存储过程或是Sql语句</param>
/// <param name="pars">语句带的参数</param>
/// <returns>返回 多行数据</returns>
public static SqlDataReader ExecuteReader(string sqlStr, CommandType commandType, params SqlParameter[] pars)
{
SqlConnection conn = new SqlConnection(conStr);
using (SqlCommand comm = new SqlCommand(sqlStr, conn))
{
comm.CommandType = commandType;
comm.Parameters.AddRange(pars);
conn.Open();
try
{
return comm.ExecuteReader();
}
catch (Exception)
{
conn.Close();
conn.Dispose();
throw;
}
}
}
/// <summary>
/// 读出数据,返回表格Table
/// </summary>
/// <param name="sqlStr"></param>
/// <param name="commandType"></param>
/// <param name="pars"></param>
/// <returns></returns>
public static DataTable ExecuteSqlDataAdapter(string sqlStr, CommandType commandType, params SqlParameter[] pars)
{
DataTable td = new DataTable();
using (SqlDataAdapter sda = new SqlDataAdapter(sqlStr, conStr))
{
if (pars != null)
{
sda.SelectCommand.CommandType = commandType;
sda.SelectCommand.Parameters.AddRange(pars);
sda.Fill(td);
}
}
return td;
}
}
}