public class SqlCon
{
private SqlConnection sqlConn;
private SqlCommand sqlCmd;
public SqlCon()
{
GetConnection();
GetCommand();
}
public void GetConnection()
{
string _SqlStr = ConfigurationManager.ConnectionStrings["sqlStr"].ConnectionString;
sqlConn = new SqlConnection(_SqlStr);
if (sqlConn.State == ConnectionState.Closed)
{
sqlConn.Open();
}
}
public void GetCommand()
{
sqlCmd = new SqlCommand();
sqlCmd.Connection = sqlConn;
}
/// <summary>
/// 执行增删改操作,返回受影响的行数
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public int ExecuteNonQuery(string sql)
{
sqlCmd.CommandText = sql;
return sqlCmd.ExecuteNonQuery();
}
/// <summary>
/// 执行查询,并返回首行首列的值
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public string ExecuteScalar(string sql)
{
sqlCmd.CommandText = sql;
return Convert.ToString(sqlCmd.ExecuteScalar());
}
/// <summary>
/// 查询
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public DataSet ExecuteSelect(string sql)
{
DataSet _DS = new DataSet();
sqlCmd.CommandText = sql;
SqlDataAdapter _SqlDap = new SqlDataAdapter(sqlCmd);
_SqlDap.Fill(_DS);
return _DS;
}
/// <summary>
/// 添加参数
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public void AddParamater<T>(string key, T value)
{
SqlParameter _Para = new SqlParameter();
_Para.ParameterName = key;
switch (typeof(T).Name.ToString())
{
case "Int32":
_Para.DbType = DbType.Int32;
break;
case "Byte":
_Para.DbType = DbType.Byte;
break;
case "DateTime":
//日期和时间
_Para.DbType = DbType.DateTime;
break;
case "Decimal":
//添加金额参数
_Para.DbType = DbType.Decimal;
break;
case "String": //ntext、text类型的,不能指定长度
_Para.DbType = DbType.String;
break;
case "Boolean":
_Para.DbType = DbType.Boolean;
break;
case "Double": //小数
_Para.DbType = DbType.Single;
break;
case "Single":
_Para.DbType = DbType.Single;
break;
case "Byte[]": //SQL Server 里面的Image类型
((System.Data.SqlClient.SqlParameter)_Para).SqlDbType = SqlDbType.Image;
break;
case "Int64":
_Para.DbType = DbType.Int64;
break;
}
_Para.Value = value;
sqlCmd.Parameters.Add(_Para);
}
public void ClearParamater()
{
if (sqlCmd != null)
{
sqlCmd.Parameters.Clear();
}
}
}