你的成绩表中有主键吗,如果有的话,应该用SqlCommandBuilder生成update语句,然后再更新数据。如果没有的话,应该不行!
foreach (DataRow dataRow in dataTable.Rows)
{
i=i+1;
dataRow.BeginEdit ();
dataRow["sorted"]=i;
dataRow.EndEdit ();
         SqlCommandBuilder custCB = new SqlCommandBuilder(DataAdapter);  //加这一句
DataAdapter.Update(dataSet,"Score_Table");
Application.DoEvents ();
dataSet.AcceptChanges ();
}

解决方案 »

  1.   

    似乎有很多问题:
    DataAdapter=new SqlDataAdapter (commandString,connectionString);
    改为
    System.Data.SqlClient.SqlDataAdapter dataadapter = new System.Data.SqlClient.SqlDataAdapter(commandString,connectionString);
    后面加一句
    new System.Data.SqlClient.SqlCommandBuilder(dataadapter);另外,
    "Select * from Score_Table ORDER BY FinalScore DESC";
    DESC是什么?我觉得你的查询语句应该是
    "Select * from Score_Table sort BY FinalScore,DESC";
      

  2.   

    如果仅仅是显示可以用dataview
    DataView dv=new DataView();
    dv.Table=dataSet.Tables["Score_table"];
    dv.Sort="yourfield ASCorDEC";
      

  3.   

    回 samilly(风沙狼) 
    加了你那句,就报错呀!!!!!
      

  4.   

    回 samilly(风沙狼) 
    不报错了!!!!刚才是我写错了!!!!!但是现在名词根本没有添加进去!!!!sorted还是空的!!!!!!!也不报错!!!!!怎么回事???????
      

  5.   

    回 samilly(风沙狼) 
    我在窗提上加了一个datagrid,结果显示的记录就是有名次的,就过退出程序,进sqlserver看,还是没有,怎么回事???