首先: 你的getdataset()方法已经返回了一个DataSet数据集;其次:既然已经返回了数据集ds就不需要用SqlDataAdapter进行填充了。你上面使用它的时候也不正确,正确的写法应该是SqlDataAdapter adp=new SqlDataAdapter("SQL语句","连接字符串");最后,正确是写法应该是:DataSet ds=pbl.Getdataset();Gridview1.DataSource=ds;Gridview1.DataBind();----------------------------你也可以写成这样:DataSet ds=pbl.Getdataset();Gridview1.DataSource=ds;ds.Table[0].DefaultView.Sort=SortField;Gridview1.DataBind();