关于对DataTable的操作: 若是用SqlDataAdapter从数据库里读取了数据,然后fill进了table中, 则此时千万要注意,此时table中的各个DataColumn的类型已经确定,而此时 假如table中无数据(别想可以把其数据清空,我清空无论如何还是有问题,修改不了)。 修改列的数据类型代码如下: DataColumn Column=table.Columns ["intime"]; Column.DataType =Type.GetType ("string"); table.AcceptChanges (); 在数据类型一致的情况下可以通过 DataRow row=table.Rows[i]; row.BeginEdit(); row["intime"]="4:05:06"; row.EndEdit(); table.AcceptChanges ();这样来更改对应列的数据值。 /// <summary> /// 修改数据表DataTable某一列的类型和记录值(正确步骤:1.克隆表结构,2.修改列类型,3.修改记录值,4.返回希望的结果) /// </summary> /// <param name="argDataTable">数据表DataTable</param> /// <returns>数据表DataTable</returns> private DataTable UpdateDataTable(DataTable argDataTable) { DataTable dtResult = new DataTable(); //克隆表结构 dtResult = argDataTable.Clone(); foreach (DataColumn col in dtResult.Columns) { if (col.ColumnName == "age") { //修改列类型 col.DataType = typeof(String); } } foreach (DataRow row in argDataTable.Rows) { DataRow rowNew = dtResult.NewRow(); rowNew["MemberId"] = row["MemberId"]; rowNew["NickName"] = row["NickName"]; //修改记录值 rowNew["age"] = row["age"] + "岁"; dtResult.Rows.Add(rowNew); } //返回希望的结果 return dtResult; }