执行一次数据库连接,这么写有什么有关问题吗
执行一次数据库连接,这么写有什么问题吗?
public static object ExcuteProcedure(string procedureName, List<object> o_values, ExcuteType type)
{
using (SqlConnection con = new SqlConnection(ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(procedureName, con))
{
con.Open();
object o_return = new object();
List<object> o_para = GetPara(con, procedureName);
cmd.CommandType = CommandType.StoredProcedure;
for (int i = 0; i < o_values.Count; i++)
{
cmd.Parameters.AddWithValue(o_para[i].ToString(), o_values[i]);
}
switch (type)
{
case ExcuteType.ExcuteNoneQuery:
o_return = cmd.ExecuteNonQuery();
break;
case ExcuteType.ExcuteScalar:
o_return = cmd.ExecuteScalar();
break;
case ExcuteType.ExcuteDataSet:
DataSet ds = new DataSet();
using (SqlDataAdapter ad = new SqlDataAdapter())
{
ad.SelectCommand = cmd;
ad.Fill(ds);
}
o_return = ds;
break;
case ExcuteType.ExcuteDataDataTable:
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
o_return = dt;
public static object ExcuteProcedure(string procedureName, List<object> o_values, ExcuteType type)
{
using (SqlConnection con = new SqlConnection(ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(procedureName, con))
{
con.Open();
object o_return = new object();
List<object> o_para = GetPara(con, procedureName);
cmd.CommandType = CommandType.StoredProcedure;
for (int i = 0; i < o_values.Count; i++)
{
cmd.Parameters.AddWithValue(o_para[i].ToString(), o_values[i]);
}
switch (type)
{
case ExcuteType.ExcuteNoneQuery:
o_return = cmd.ExecuteNonQuery();
break;
case ExcuteType.ExcuteScalar:
o_return = cmd.ExecuteScalar();
break;
case ExcuteType.ExcuteDataSet:
DataSet ds = new DataSet();
using (SqlDataAdapter ad = new SqlDataAdapter())
{
ad.SelectCommand = cmd;
ad.Fill(ds);
}
o_return = ds;
break;
case ExcuteType.ExcuteDataDataTable:
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
o_return = dt;