Fork me on GitHub

关于.net中的DataSet和DataTable

        DataSet ds = new DataSet();
            ds.Tables.Add();
            ds.Tables[0].Columns.Add("name");
            ds.Tables[0].Columns.Add("age");
            ds.Tables[0].Columns.Add("sex");
            ds.Tables[0].Rows.Add();
            ds.Tables[0].Rows.Add();
            ds.Tables[0].Rows[0]["name"] = "张三";
            ds.Tables[0].Rows[0]["age"] = 15;
            ds.Tables[0].Rows[0]["sex"] = "";
            ds.Tables[0].Rows[1]["name"] = "李四";
            ds.Tables[0].Rows[1]["age"] = 28;
            ds.Tables[0].Rows[1]["sex"] = "";

            

            DataSet ds2 = new DataSet();
            ds2 = ds;
            DataTable dt = new DataTable();
            dt = ds.Tables[0];
            dt.Rows[0]["name"] = "大刀王五";

当修改dt的name值时,ds2、ds中的name值也会相应改变,因为他们所读取的内存空间是一样的。所以要在不修改原ds的内存的前提下修改dt内容的话,可以用

           dt = ds.Tables[0].Copy();

 

posted @ 2018-12-11 17:42  好小豪  阅读(299)  评论(0编辑  收藏  举报