csharp 復制DataTable修改某列的值
/// <summary> /// 塗聚文 /// 2012-04-14 /// </summary> /// <param name="table"></param> /// <returns></returns> static DataTable GetDecTable(DataTable table) { if (!object.Equals(table, null))// { // foreach(DataRow myRow in thisTable.Rows){ //foreach(DataColumn myCol in thisTable.Columns){ // Console.WriteLine(myRow[myCol]); //} //DataTable tablecopy = table.Copy(); DataTable tableDec=new DataTable(); //tableDec = table.Copy(); //得到列的名稱和數據類型 //foreach (DataColumn column in table.Columns) //{ // tableDec.Columns.Add(column.ColumnName,column.DataType); //} // foreach (DataColumn myCol in table.Columns) // { // if (myCol.ColumnName == "EmployeeNo") // { // // row[myCol] // } //foreach (DataRow row in table.Rows) // Loop over the rows. //{ // //tableDec.Rows.Add(myRow[myCol]) // } // string employeeNo = CryptographerUTF.GetDecryptString(row["EmployeeNo"].ToString()); // string employeeName = CryptographerUTF.GetDecryptString(row["EmployeeName"].ToString()); // tableDec.Rows.Add(); //} //克隆表結構,數據記錄沒有填充 //tableDec = table.Clone(); //foreach (DataColumn gcol in datatable.Columns) //{ // if (gcol.ColumnName == "EmployeeNo") // { // //修改數據類型 // gcol.DataType = typeof(String); // } //} //為新表填充數據 //foreach (DataRow row in tableDec.Rows) //{ // DataRow 个nr = datatable.NewRow(); // nr["EmployeeName"] = row["EmployeeName"]; // //修改記錄 // nr["EmployeeNo"] = row["EmployeeNo"] .toString()"; // nr["sex"] = row["sex"]; // datatable.Rows.Add(nr); //} //復制表結構和數據 tableDec = table.Copy(); //为改變指定列的數據 foreach (DataRow row in tableDec.Rows) { //修改記錄的值 row["EmployeeNo"] = CryptographerUTF.GetDecryptString(row["EmployeeNo"].ToString()); //修改記錄值 row["EmployeeName"] = CryptographerUTF.GetDecryptString(row["EmployeeName"].ToString()); } return tableDec; } else { return null; } }
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)