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;
            }
        }

 

posted @ 2012-04-14 18:03  ®Geovin Du Dream Park™  阅读(1092)  评论(0编辑  收藏  举报