using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public static class DBTool
{
/// <summary>
/// 建立连接
/// </summary>
/// <returns>SqlConnection</returns>
public static SqlConnection GetConnection()
{
string connstr = ConfigurationManager.ConnectionStrings["conn"].ConnectionString; //从配置文件中获取连接字符串
SqlConnection conn = new SqlConnection(connstr);
return conn;
}
/// <summary>
/// 用于Select语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="parameters">查询参数</param>
/// <returns>DataTable</returns>
public static DataTable GetDataTable(string sql, params SqlParameter[] parameters)
{
DataTable dt = new DataTable();
SqlConnection conn = GetConnection();
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(parameters);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt); //为dt填充数据
return dt;
}
//一个可以用于非Select语句的方法,主要用于insert,delete,update语句
/// <summary>
/// 用于Update,Insert,Delete语句
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="parameters">查询参数</param>
/// <returns>Int32</returns>
public static int ExecuteNonQuery(string sql, params SqlParameter[] parameters)
{
int i = 0;
using (SqlConnection conn = GetConnection())
{
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.AddRange(parameters);
conn.Open();
i = cmd.ExecuteNonQuery();
}
return i;
}
/// <summary>
/// 读取数据流中的信息
/// </summary>
/// <param name="sql">sql语句</param>
/// <param name="parameters">查询参数</param>
/// <returns>SqlDataReader</returns>
public static SqlDataReader ExecuteReader( string sql, params SqlParameter[] parameters)
{
SqlConnection conn = GetConnection();
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
foreach (SqlParameter p in parameters)
{
cmd.Parameters.Add(p);
}
conn.Open();
SqlDataReader sdr = cmd.ExecuteReader(); //select, 返回结果集
return sdr;
}
}