0

在此处输入图像描述

- 下面顶部代码上的图像....

private void Save_FGARec()
{            
    try
    {                
        for(int x= 0; x < FGAdataGrid.Rows.Count; x++)
        {
            sysSFCDBDataContext SFC = new sysSFCDBDataContext();
            Sales_FGAllocated FGA = SFC.Sales_FGAllocateds.FirstOrDefault(r => r.RowID == Convert.ToInt64(FGAdataGrid.Rows[x].Cells[0].Value));
            if (FGAdataGrid.Rows[x].Cells[0].Value != null)
            {                         
                FGA.TotalLoaded = Convert.ToInt64(FGAdataGrid.Rows[x].Cells[6].Value);
                SFC.SubmitChanges();
            }
            else 
            {
                SFC.Connection.Close();
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message.ToString());
    }                
}

-- 我的更新代码正确吗?我很困惑,因为我的表没有更新我存储在该列上的内容,总加载算作单元 [8]...我在这里错过了什么吗?

4

1 回答 1

0

在下面尝试,不确定这会解决问题,但可能是您没有使用当前代码正确处理/关闭数据上下文。你可以使用using如下块

using (sysSFCDBDataContext SFC = new sysSFCDBDataContext())
{
    Sales_FGAllocated FGA = SFC.Sales_FGAllocateds.FirstOrDefault(r => r.RowID == Convert.ToInt64(FGAdataGrid.Rows[x].Cells[0].Value));

    if (FGAdataGrid.Rows[x].Cells[0].Value != null)
    {
        FGA.TotalLoaded = Convert.ToInt64(FGAdataGrid.Rows[x].Cells[6].Value);
        SFC.SubmitChanges();
    }
}
于 2013-07-26T03:06:08.907 回答