0

この 2 日間、これに苦労しているので、本当に助けていただければ幸いです。

最初にソリューションを構築するとき、新しいレコードを追加したり、データ値を削除/編集したりでき、すべてが正常に機能します。次に、TableBindingNavigator の [保存] ボタンを使用してデータを保存できます。この時点までは、すべて正常に動作しています。

ただし、最初の保存後、テーブルから既存のデータ値を削除または編集した後に再度保存することはできませんが、編集/削除するとテーブル グリッド ビューが更新されます。次のエラーが表示されます: [保存] をクリックすると、「削除された行を含む DataRow コレクションを渡すと、更新には有効な DeleteCommand が必要です」というエラーが表示されます。データを編集すると、「更新には、変更された行を含む DataRow コレクションを渡すときに有効な UpdateCommand が必要です」というエラーが表示されます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Hatch_Optimizer.Properties;

namespace Hatch_Optimizer
{
public partial class frmMain : Form
{
    public frmMain()
    {
        InitializeComponent();

    }

    private void tblVarBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
    {
        this.Validate();
        this.tblVarBindingSource.EndEdit();
        tblVarTableAdapter.Update(this.dsHatchOpt);
        //this.tableAdapterManager.UpdateAll(this.dsHatchOpt);
    }

    private void tblResBindingNavigatorSaveItem_Click_1(object sender, EventArgs e)
    {
        this.Validate();
        this.tblVarBindingSource.EndEdit();
        tblResTableAdapter.Update(this.dsHatchOpt.tblRes);
       this.tableAdapterManager.UpdateAll(this.dsHatchOpt);
    }



    private void frmMain_Load(object sender, EventArgs e)
    {

        this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
        this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
        this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
        this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
        this.tblResTableAdapter.Fill(this.dsHatchOpt.tblRes);
        this.tblVarTableAdapter.Fill(this.dsHatchOpt.tblVar);

    }    
4

1 に答える 1