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] としてカウントされるこの列 totalloaded に保存するものを更新しないため、混乱しています...ここで何かを見逃しましたか?

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 に答える