您好:
如下程式碼
但執行時,卻會出現
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);
}