using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.Sql;using System.Data.SqlClient;using System.Configuration;namespace Solog.SQLTask...{ public class GetData ...{ private SqlConnection _myConnection; public SqlConnection myConnection ...{ get ...{ return _myConnection; } } public GetData() ...{ _myConnection = new SqlConnection(ConfigurationManager.AppSettings["SQLConnectionString"]); _myConnection.Open(); } //获取DataSet public DataSet GetDataSet(string sql) ...{ try ...{ DataSet ds = new DataSet(); SqlDataAdapter sda = new SqlDataAdapter(sql, _myConnection); sda.Fill(ds); return ds; } catch (Exception ex) ...{ throw new Exception(ex.Message); } finally ...{ Close(); } } //重载GetDataSet public DataSet GetDataSet(string sql, Parameters para) ...{ DataSet ds = new DataSet(); if (para != null) ...{ try ...{ SqlCommand sc = new SqlCommand(sql, _myConnection); foreach (ParameterString pstring in para.List) ...{ sc.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } SqlDataAdapter sda = new SqlDataAdapter(sc); sda.Fill(ds); return ds; } catch (Exception ex) ...{ throw new Exception(ex.Message); } finally ...{ Close(); } } else ...{ ds = GetDataSet(sql); } return ds; } /**//// <summary> /// 选择使用StoreProcedure返回DataSet操作类,如果无参数请把para=null /// </summary> /// <param name="query">SQL语句或存储过程名称</param> /// <param name="para">SQL参数,无参查询为null</param> /// <param name="IsStoreProcedure">是否使用存储过程</param> /// <returns></returns> public DataSet GetDataSet(string query, Parameters para, bool IsStoreProcedure) ...{ DataSet ds = new DataSet(); if (IsStoreProcedure == false) ...{ ds = GetDataSet(query, para); } else ...{ SqlDataAdapter sda = new SqlDataAdapter(query, _myConnection); sda.SelectCommand.CommandType = CommandType.StoredProcedure; if (para != null) ...{ foreach (ParameterString pstring in para.List) ...{ sda.SelectCommand.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } } else ...{ } sda.Fill(ds); Close(); } return ds; } //获取DataReader public SqlDataReader GetReader(string sqlstring) ...{ //获取IDataReader SqlDataReader datareader = null; SqlCommand dbcmd = new SqlCommand(sqlstring,_myConnection); try ...{ datareader = dbcmd.ExecuteReader(CommandBehavior.CloseConnection); return datareader; } catch (Exception e) ...{ throw new Exception(e.Message); } } //重载GetReader public SqlDataReader GetReader(string sqlstring, Parameters para) ...{ SqlDataReader datareader = null; SqlCommand dbcmd = new SqlCommand(sqlstring, _myConnection); if (para != null) ...{ try ...{ foreach (ParameterString pstring in para.List) ...{ dbcmd.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } datareader = dbcmd.ExecuteReader(CommandBehavior.CloseConnection); } catch (Exception e) ...{ throw new Exception(e.Message); } } else ...{ datareader= GetReader(sqlstring); } return datareader; } //重载GetReader /**//// <summary> /// 选择使用StoreProcedure返回DataReader操作类,如果无参数请把para=null /// </summary> /// <param name="query">SQL语句或存储过程名称</param> /// <param name="para">SQL参数,无参查询为null</param> /// <param name="IsStoreProcedure">是否使用存储过程</param> /// <returns></returns> public SqlDataReader GetReader(string query, Parameters para, bool IsStoreProcedure) ...{ SqlDataReader reader = null; if (IsStoreProcedure == false) ...{ reader=GetReader(query, para); } else ...{ SqlCommand cmd = new SqlCommand(query, _myConnection); cmd.CommandType = CommandType.StoredProcedure; if (para != null) ...{ foreach (ParameterString pstring in para.List) ...{ cmd.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } } else ...{ } reader = cmd.ExecuteReader(CommandBehavior.CloseConnection); } return reader; } public void excNonQuery(string sqlstring) ...{ //执行一个无返回值的COMMADND SqlCommand exc = new SqlCommand(sqlstring, _myConnection); exc.ExecuteNonQuery(); exc.Connection.Close(); Close(); } public void excNonQuery(string sqlstring, Parameters para) ...{ SqlCommand exc = new SqlCommand(sqlstring,_myConnection); if (para != null) ...{ foreach (ParameterString pstring in para.List) ...{ exc.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } exc.ExecuteNonQuery(); Close(); } else ...{ exc.ExecuteNonQuery(); Close(); } } //重载excNonQuery /**//// <summary> /// 执行无返回值的SQL存储过程或SQL语句 /// </summary> /// <param name="query">SQL语句或存储过程名称</param> /// <param name="IsStoreProdure"></param> public void excNonQuery(string query,Parameters para,bool IsStoreProdure) ...{ if (IsStoreProdure == false) ...{ excNonQuery(query,para); } else ...{ SqlCommand cmd = new SqlCommand(query, _myConnection); cmd.CommandType = CommandType.StoredProcedure; if (para != null) ...{ foreach (ParameterString pstring in para.List) ...{ cmd.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } cmd.ExecuteNonQuery(); Close(); } else ...{ cmd.ExecuteNonQuery(); Close(); } } } public int excScalar(string sqlstring) ...{ //执行返回单一INT值 SqlCommand exc = new SqlCommand(sqlstring, _myConnection); int result = Convert.ToInt32(exc.ExecuteScalar()); exc.Connection.Close(); return result; } public int excScalar(string sqlstring, Parameters para) ...{ SqlCommand exc = new SqlCommand(sqlstring, _myConnection); int result; if (para != null) ...{ foreach (ParameterString pstring in para.List) ...{ exc.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } result = Convert.ToInt32(exc.ExecuteScalar()); } else ...{ result = Convert.ToInt32(exc.ExecuteScalar()); } return result; } /**//// <summary> /// 选择使用StoreProcedure返回Int值操作类,如果无参数请把para=null /// </summary> /// <param name="query">SQL语句或存储过程名称</param> /// <param name="para">SQL参数,无参查询为null</param> /// <param name="IsStoreProcedure">是否使用存储过程</param> /// <returns></returns> public int excScalar(string query, Parameters para, bool IsStoreProdure) ...{ int result; if (IsStoreProdure == false) ...{ result = excScalar(query,para); } else ...{ SqlCommand cmd = new SqlCommand(query, _myConnection); cmd.CommandType = CommandType.StoredProcedure; if (para != null) ...{ foreach (ParameterString pstring in para.List) ...{ cmd.Parameters.AddWithValue(pstring.Parameter, pstring.Value); } result = Convert.ToInt32(cmd.ExecuteScalar()); } else ...{ result = Convert.ToInt32(cmd.ExecuteScalar()); } } Close(); return result; } public void Close() ...{ //用完记得关掉 _myConnection.Close(); } }}