版本1:
public class DBHelper
{
private static SqlConnection con;
private static SqlConnection Con
{
get
{
if (con == null)
{
con = new SqlConnection("server=.;database=BookShop;uid=sa;pwd=sa");
con.Open();
}
else if (con.State == ConnectionState.Broken)
{
con.Close();
con.Open();
}
else if (con.State == ConnectionState.Closed)
{
con.Open();
}
return con;
}
}
private static SqlCommand Com
{
get
{
return Con.CreateCommand();
}
}
public static bool Update(string sql)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
return cmd.ExecuteNonQuery() > 0;
}
public static bool Update(string sql, SqlParameter[] pars)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
cmd.Parameters.AddRange(pars);
return cmd.ExecuteNonQuery() > 0;
}
public static object SelectForScalar(string sql)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
return cmd.ExecuteScalar();
}
public static object SelectForScalar(string sql, SqlParameter[] pars)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
cmd.Parameters.AddRange(pars);
return cmd.ExecuteScalar();
}
public static SqlDataReader DataReader(string sql)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
return cmd.ExecuteReader();
}
public static SqlDataReader DataReader(string sql, SqlParameter[] pars)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
cmd.Parameters.AddRange(pars);
return cmd.ExecuteReader();
}
public static DataTable DataTable(string sql)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable ta = new DataTable();
da.Fill(ta);
return ta;
}
public static DataTable DataTable(string sql, SqlParameter[] pars)
{
SqlCommand cmd = Com;
cmd.CommandText = sql;
cmd.Parameters.AddRange(pars);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable ta = new DataTable();
da.Fill(ta);
return ta;
}
public static bool ExcuteForProc(string ProcName, SqlParameter[] pars)
{
SqlCommand cmd = Com;
cmd.CommandText = ProcName;
cmd.Parameters.AddRange(pars);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter values = new SqlParameter("@values", SqlDbType.Int);
values.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(values);
cmd.ExecuteNonQuery();
if ((int)values.Value == 0)
return true;
return false;
}
public static DataSet ExcuteDataSat(string ProcName, SqlParameter[] pars, out bool isDone)
{
SqlCommand cmd = Com;
cmd.CommandText = ProcName;
cmd.Parameters.AddRange(pars);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter values = new SqlParameter("@values", SqlDbType.Int);
values.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
if ((int)values.Value == 0)
isDone = true;
isDone = false;
return ds;
}
}