public DataSet ExecSPDataSet(string sql, System.Data.IDataParameter[] paramers)
        {
           
            SqlCommand sqlcom = new SqlCommand();
            using (SqlConnection conn = new SqlConnection(ConnString))
            {
                PrepareCommand(sqlcom, conn, CommandType.StoredProcedure, sql);
                foreach (System.Data.IDataParameter paramer in paramers)
                {
                    sqlcom.Parameters.Add(paramer);
                }
                SqlDataAdapter sda = new SqlDataAdapter();
                sda.SelectCommand = sqlcom;
                DataSet ds = new DataSet();
                sda.Fill(ds);
                sqlcom.Parameters.Clear();
                return ds;
            }
        }
private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, CommandType cmdType, string cmdText)
        {
            if (conn.State != ConnectionState.Open)
                conn.Open();
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            cmd.CommandType = cmdType;
        }
//调用假设过程名为zb 参数 a1 ,a2 我写了
 sqlDB mydb = new sqlDB();
//这里我该怎么写啊!
            DataSet ds = mydb.ExecSPDataSet("zb","");
            dataGridView1.DataSource = ds.Tables[0];