求教高手,2000可以2005不行,System.Data.ReadOnlyException: 列为只读
求教高手public static decimal GetPRFStorage(string part_id, string lot_no, DateTime delivery_datetime)
{
if (_data == null) return 0;
string n = "part_id='" + part_id + "' and lot_no='" + lot_no + "' and dlv_datetime<=#" + delivery_datetime.ToString("yyyy-MM-dd HH:mm:ss") + "# and dlv_qty>0";
DataRow[] drs = _data.Select("part_id='" + part_id + "' and lot_no='" + lot_no + "' and dlv_datetime<=#" + delivery_datetime.ToString("yyyy-MM-dd hh:mm:ss") + "# and dlv_qty>0", "dlv_datetime desc,dlv_qty asc");
decimal inpq = 0;
if (drs.Length <= 0) inpq= 0;
foreach (DataRow dr in drs)
{
inpq += Convert.ToDecimal(dr["dlv_qty"]);
dr["dlv_qty"] = 0;
}
decimal fln = 0;
DataRow[] drf = _data_fl.Select("part_id='" + part_id + "' and lot_no='" + lot_no + "'");
if (drf.Length <= 0)
{
fln = 0;
}
else
{
fln = Convert.ToDecimal(drf[0]["dlv_qty"]);
}
return inpq + fln;
}
2009-12-15 14:43:27:546|Error|WW2864|运行R.C.000J16-0402-G00时出错!ex:System.Data.ReadOnlyException: 列“dlv_qty”为只读。
在 System.Data.DataRow.set_Item(DataColumn column, Object value)
在 System.Data.DataRow.set_Item(String columnName, Object value)
在 Andafa.Amrp.PRFInstorageNew.GetPRFStorage(String part_id, String lot_no, DateTime delivery_datetime)
在 Andafa.Amrp.PRCombMo.DiluteStorage(IPRMBom mbom, PRMtrHandleType handleType, List`1 lstMsBom, Decimal& needDiluteNum)
在 Andafa.Amrp.PRCombMo.RunPRForEachMtr(IPRMBom mbom) --------------------编程问答-------------------- 检查一下你生成 _data 的代码看看 --------------------编程问答-------------------- 可能是因为连接还没有关闭,所以不允许修改DataRow里面的值。
我是刚刚遇到的这个问题。google找到的这个帖子,可惜没有答案。
还是自己摸索吧。 --------------------编程问答-------------------- 你是不是使用的
DataTable.Load(dr)的方法读取的记录呢?我是这么读取的,出现的这个错误,换成 DataAdapter.Fill(dt)就可以了。
具体原因还没有查看。 --------------------编程问答-------------------- 不明白你的2000代表什么2005代表什么?
能描述清楚你的问题吗?
补充:.NET技术 , C#