执行一次数据库连接,这么写有什么有关问题吗

执行一次数据库连接,这么写有什么问题吗?
 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;