public class Sqlhlper
{
private SqlConnection sqlcnn;
private SqlCommand sqlcmm;
private SqlDataAdapter sqlda;
private DataTable datable;
/// <summary>
/// 连接字符串
/// </summary>
private string strcon=ConfigurationManager.ConnectionStrings["strcon"].ConnectionString;
/// <summary>
/// 封转字段SqlDataAdapter
/// </summary>
public SqlDataAdapter Sqlda
{
get { return sqlda; }
set { sqlda = value; }
}
/// <summary>
/// 封转字段SqlCommand
/// </summary>
public SqlCommand Sqlcmm
{
get { return sqlcmm; }
set { sqlcmm = value; }
}
/// <summary>
/// 封转字段SqlConnection
/// </summary>
public SqlConnection Sqlcnn
{
get { return sqlcnn; }
set { sqlcnn = value; }
}
/// <summary>
/// 简单的用户名,密码校验
/// </summary>
/// <param name="sql">要执行的sql语句</param>
/// <param name="con">要执行的 sql数据类型</param>
/// <param name="parameters">要执行的sql语句用到的参数</param>
/// <param name="values">要执行的sql语句参数的赋值</param>
/// <returns></returns>
public DataTable exetable(string sql, CommandType con, string[] parameters, object[] values)
{
Sqlcnn = new SqlConnection(strcon);
Sqlcmm = Sqlcnn.CreateCommand();
Sqlcmm.CommandText = sql;
Sqlcmm.CommandType = con;
FillParamers(parameters, values);
Sqlda = new SqlDataAdapter(Sqlcmm);
datable = new DataTable();
Sqlda.Fill(datable);
return datable;
}
/// <summary>
/// 不带输出参数的 参数添加
/// </summary>
/// <param name="parameters">输入参数</param>
/// <param name="values">赋值</param>
private void FillParamers(string[] parameters, object[] values)
{
if (values != null && values.Length != 0)
{
for (int i = 0; i < parameters.Length; i++)
{
string parameter = parameters[i];
object value = values[i];
if (value != null)
Sqlcmm.Parameters.AddWithValue(parameter, value);
else
Sqlcmm.Parameters.AddWithValue(parameter, DBNull.Value);
}
}
}
/// <summary>
/// 带输出参数的 参数添加
/// </summary>
/// <param name="command">命令</param>
/// <param name="parameters">输入参数</param>
/// <param name="values">输入参数赋值</param>
/// <param name="outputParameters">输出参数</param>
/// <param name="outputValues">输出参数赋值</param>
private void FillParameters(SqlCommand command, string[] parameters, object[] values,
string[] outputParameters, object[] outputValues)
{
if (values != null && values.Length != 0)
{
for (int i = 0; i < parameters.Length; i++)
{
string parameter = parameters[i];
object value = values[i];
if (value != null)
command.Parameters.Add(parameter, value);
else
command.Parameters.Add(parameter, DBNull.Value);
}
}
if (outputParameters != null && outputParameters.Length != 0)
{
for (int i = 0; i < outputParameters.Length; i++)
{
string parameter = outputParameters[i];
object value = outputValues[i];
if (value is string)
{
command.Parameters.Add(parameter, SqlDbType.NVarChar, 4000);
command.Parameters[parameter].Direction = ParameterDirection.Output;
}
else if (value != null)
command.Parameters.Add(parameter, value).Direction = ParameterDirection.Output;
else
command.Parameters.Add(parameter, DBNull.Value).Direction = ParameterDirection.Output;
}
}
}
}