您好:
如下程式碼
但執行時,卻會出現
Module:XXXX, MethodName:m_rpt_01
Error:資料行 '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";
}
再建一個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);
}