你的表格是什么表格?
DataGrid?
你是什么Form?
WinForm?
你可以参考SqlAdapter.Update方法
去联机文档上看看
很适合你这种情况
而且你不用去循环查看是否发生了修改
如果你的数据源是DataTable的话

解决方案 »

  1.   

    象这样的最好还是用存储过程来实现,效率更高
    不过象楼主说的这样也是可以做的,象下面这样就可以了
    先把数据放到数据集中的表里,然后用foreach遍历每条记录并修改,最后调用adapter.Update把改变的记录写回数据库
    SqlDataAdapter adapter=new SqlDataAdapter("select * from yourtable",conn);
    SqlCommandBuilder builder=new SqlCommandBuilder(adapter);
    DataSet ds=new DataSet();
    adapter.Fill(ds,"yourtable');
    foreach(DataRow row in ds.Tables["yourtable"])
    {
    ...对每条记录修改
    }
    adapter.Update(ds.Tables("yourtable"));
      

  2.   

    能提高效率之一的办法是用游标解决(在C#里拼一个sql执行串,或写个存储过程)
      

  3.   

    谢谢各位的回复
    现在是用  wangxt(海贝) 的方法实现的
    我想为了更好的提高效率应该用存储过程,由于这部分不太懂,只等留着下次再改