SqlConnection conn = new SqlConnection("Data Source=CHARGEFORWARD;Database=vv;Integrated Security=True;");
            string sql = "SELECT * FROM kkk ";            SqlDataAdapter sDa = new SqlDataAdapter();            DataSet ds = new DataSet();            
            SqlCommandBuilder builder = new SqlCommandBuilder(sDa);            sDa.SelectCommand = new SqlCommand("select * from kkk", conn);            sDa.Fill(ds, "kkk");
            Console.WriteLine(ds.Tables["kkk"].Rows[0].ItemArray[0]);
            ds.Tables["kkk"].Rows[0].ItemArray[0] = "unix";//原值是"linux"
            Console.WriteLine(ds.Tables["kkk"].Rows[0].ItemArray[0]);运行结果居然是
linux
linux
!!!
为什么ds.Tables["kkk"].Rows[0].ItemArray[0] = "unix";赋值不成功?

解决方案 »

  1.   

    不能这样赋值chargeforward兄弟,这个问题你已经开了三帖了吧?!你是windows编程,还是asp.net?我写个例子给你!
      

  2.   

    winform  书上这样赋得值...  我就抄来了  居然不能用  无语 ...
      

  3.   

    应该是
    ds.Tables["kkk"].Rows[0][0] = "unix"
      

  4.   

    OK了  
    ds.Tables["kkk"].Rows[0].ItemArray[0] = "unix";
    改成
    ds.Tables["kkk"].Rows[0][0] = "unix";就行了  真无语...
      

  5.   

    ds.Tables["kkk"].Rows[0].ItemArray[0] 这个好像只是个副本
      

  6.   

    ds.Tables["kkk"].Rows[rowindex][columnindex]就是对应的行列索引