SqlConnection conn = new SqlConnection("server=.;database=mydata;uid=sa;pwd=123456;");
conn.Open();
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = new SqlCommand("select top 10 * from goods order by goodsID desc",conn);
DataSet ds = new DataSet();
adp.Fill(ds, "goods"); for (int i = 0; i < count; i++)
        {
           ds.Tables[0].Rows[i]["goodsID"];
        }取数据库里最新的10个数据,使用TOP 10,根据for循环取出最新10个数据了,如10,9,8,7,6,5,4,3,2,1现在希望ds.Tables[0]能排序输出1,2,3,4,5,6,7,8,9,10
我搜索ds.Tables["goods"].DefaultView.Sort = "goodsID asc"; 结果没有变化,怎么搞可以排序啊?

解决方案 »

  1.   

    DataView dv=ds.Tables["goods"].DefaultView;
    dv.Sort = "goodsID asc"; 
    使用dv操作
    或select top 10 * from goods order by goodsID 
      

  2.   

    adp.SelectCommand = new SqlCommand("select top 10 * from goods order by goodsID asc",conn);
    这样不行吗!?
      

  3.   

    SqlConnection conn = new SqlConnection("server=.;database=mydata;uid=sa;pwd=123456;"); 
    conn.Open(); 
    SqlDataAdapter adp = new SqlDataAdapter(); 
    adp.SelectCommand = new SqlCommand("select top 10 * from goods order by goodsID asc ",conn); 
    DataSet ds = new DataSet(); 
    adp.Fill(ds, "goods"); for (int i = 0; i < count; i++) 
            { 
              ds.Tables[0].Rows[i]["goodsID"]; 
            } 
      

  4.   


    希望最取最新的10条数据,goodsID是自增1的,使用这样的SQL语句,取出来的永远的数据中最老的10条数据吧?
      

  5.   

    哦!
    select * from goods where goodsID in (select top 10 goodsID from goods order by goodsID desc)order by goodsID asc
    试试看!good luck!
      

  6.   


    谢谢,提示错误:当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式
      

  7.   

    DataView dv=ds.Tables["goods"].DefaultView; 
    dv.Sort = "goodsID asc"; 
    使用dv操作 
    或select top 10 * from goods order by goodsID