System.Data.SqlClient.SqlDataAdapter sda=new System.Data.SqlClient.SqlDataAdapter("select * from test where id=2","server=localhost; uid=sa; pwd=lcz; database=test");
SqlCommandBuilder custCB = new SqlCommandBuilder(sda);
System.Data.DataSet ds=new System.Data.DataSet();
sda.Fill(ds,"test");

DataTable str = new DataTable();
str=ds.Tables["test"];


str.Rows[0].ItemArray[1]="editname";
sda.AcceptChanges()
sda.Update(ds,"test"); 
//str.AcceptChanges();

解决方案 »

  1.   

    sda.AcceptChanges()后加;
    不要用Table[0],指定表名test
      

  2.   

    我觉得你的代码应没问题,你再检查一下,表test 有无主键,
      

  3.   

    在位置 1 处没有任何行。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IndexOutOfRangeException: 在位置 1 处没有任何行。源错误: 
    行 38: 
    行 39:  //SqlCommandBuilder sb=new SqlCommandBuilder(sda);
    行 40:  str.Rows[1].ItemArray[1]="editname";
    行 41:  sda.Update(ds,"test"); 
    行 42:  //str.AcceptChanges();
     
    又出错了,挺有意思,呵呵
      

  4.   

    你把DataSet中的DataTable赋给了str
    你修改了str中的值并不等于你修改了DataSet中的test表的值啊????
    你可以;
    sda.Table["test"].Rows[0].ItemArray[1]="editname";
    然后再AcceptChanges()、Update(ds,"test")
    ok....!!!
      

  5.   

    有主键,可是就想什么都没发生一样啊,呵呵if(Page.IsPostBack)
    {
    System.Data.SqlClient.SqlDataAdapter sda=new System.Data.SqlClient.SqlDataAdapter("select * from test where id=2","server=localhost; uid=sa; pwd=; database=test");
    SqlCommandBuilder custCB = new SqlCommandBuilder(sda);
    System.Data.DataSet ds=new System.Data.DataSet();
    sda.Fill(ds,"test");


    DataTable str = new DataTable();
    str=ds.Tables["test"];

    //SqlCommandBuilder sb=new SqlCommandBuilder(sda);
    str.Rows[0].ItemArray[1]="editname";
    sda.Update(ds,"test"); 
    //str.AcceptChanges();
    }
      

  6.   

    sda.Tables["test"].Rows[0].ItemArray[1]="editname";
    然后再AcceptChanges()、Update(ds,"test")
    ok....!!!
    不好意思是Tables
      

  7.   

    是ds.Tables["test"].Rows[0].ItemArray[1]="editname"
    然后再AcceptChanges()、Update(ds,"test")
    ok....!!!???
      

  8.   

    明天结贴, qimini(帆) ,我会多给你分的,谢谢你帮我,呵呵