您好:
如下程式码但执行时,却会出现Module:XXXX, MethodName:m_rpt_01Error:资料行 \'amt\' 是唯读。用其他栏位也是会现这样
请问 datatable 不能 载入后、再叫出来 更改内容吗?
目前,因为SQL 端无法产生qarcode所以得在 c#端处理,所以捞出来的资料其中一个,要再去设定qrcode的值目前只先 就tDATATABLE 可否处理就卡住了
谢谢
cmd.Parameters.Clear();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "RPT";
SqlDataReader dr = cmd.ExecuteReader();
//建立DataTable物件
DataTable table1 = new DataTable();
//DataReader物件载入DataTable
table1.Load(dr);
foreach (DataRow rw in table1.Rows)
{
// rw["sno"] = Int32.Parse(rw["sno"].ToString()) + 100;
rw["amt"] = Int32.Parse(rw["amt"].ToString()) + 100;
// rw["deptna"] = "XX"; //rw["deptna"].ToString() + "XX";
}
1 个回答
1
kawa0710
iT邦研究生 4 级 ‧ 2024-10-31 15:46:03
最佳解答
再建一个DataTable, 用新增DataRow的方式把table1资料存到新的DataTable
DataTable dtTable = new DataTable();
DataRow row;
// 建立栏位
dtTable.Columns.Add("sno", typeof(int));
dtTable.Columns.Add("amt", typeof(int));
dtTable.Columns.Add("deptna", typeof(string));
// 新增资料到DataTable
foreach (DataRow rw in table1.Rows)
{
row = dtTable.NewRow();
row["sno"] = Int32.Parse(rw["sno"].ToString()) + 100;
row["amt"] = Int32.Parse(rw["amt"].ToString()) + 100;
row["deptna"] = rw["deptna"].ToString() + "XX";
dtTable.Rows.Add(row);
}
-
1 -
-
noway
iT邦研究生 1 级 ‧
2024-11-01 13:13:01
您好:
有找到用
foreach (DataColumn col in table1.Columns) { col.ReadOnly = false; };
谢谢
谢谢
修改