给大家提供一个常用的SqlHelper。
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
namespace TradeCompanySystem
{
public static class SqlHelper
{
private static readonly string constr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString;
/// <summary>
/// 执行insert,delete,update方法
/// </summary>
/// <param name="sql"></param>
/// <param name="pms"></param>
/// <returns></returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
cmd.Parameters.AddRange(pms);
con.Open();
return cmd.ExecuteNonQuery();
}
}
}
public static object ExecuteScalar(string sql, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
cmd.Parameters.AddRange(pms);
con.Open();
return cmd.ExecuteScalar();
}
}
}
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
{
SqlConnection con = new SqlConnection(constr);
try
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
cmd.Parameters.AddRange(pms);
con.Open();
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
}
catch
{
if (con != null)
{
con.Close();
con.Dispose();
}
throw;
}
}
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
using (SqlDataAdapter sqlAdapter = new SqlDataAdapter(sql, constr))
{
if (pms != null)
{
sqlAdapter.SelectCommand.Parameters.AddRange(pms);
}
sqlAdapter.Fill(dt);
}
return dt;
}
}
}