0

これが状況です。

Access のデータベースを SQL Server に移行しました。Visual Studio 2012 (C#) から、「stanleylabs\sqlexpress.teccartHoraire.dbo」という名前のデータ接続を作成しました。多くのテーブルやクエリなどがあります。次に、いくつかの DataGridView を作成しました。たとえば、教師の名前と姓のリストを含むテーブルを使用して、DataGridView を作成しました。GridView が作成されました。名前として変数の代わりに実際の文が含まれるように列を変更し、「選択をアクティブにする」、「変更をアクティブにする」、「削除をアクティブにする」をチェックしました(覚えておいてください、私はVisual Studio 2012のフランス語版を使用しています。したがって、これらのオプションはそのように正確に命名されない場合があります)。私はまだコードを入れていません。

これらすべてのオプションをチェックしたにもかかわらず、DataGridView は、行を削除してテーブルにデータを追加できるように見えますが、それらを保存しません。実行すると、追加、削除、または変更できますが、アプリケーションまたは単にウィンドウを離れると、データベースで更新されません。誰かがこれで私を助けてくれますか? 解決策を検索しましたが、何も見つかりませんでした...

4

1 に答える 1

0

特定のイベントのレコードを明示的に更新/削除する必要があります。データベースにデータ ソースを追加すると、Visual Studio は FormLoad イベントのイベント ハンドラーを作成し、次のように、データベースからテーブル内のすべてのレコードを読み込むコード行を追加します。

    private void Form1_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'yourDataSet.SalesOrderHeader' table. You can move, or remove it, as needed.
        this.salesOrderHeaderTableAdapter.Fill(this.yourDataSet.SalesOrderHeader);
    }

フォームの編集中に F7 キーを押すと、このコードが表示されます。

あなたがする必要があるのは、いくつかのイベントにアタッチすることです。たとえば、FormClosing と言って、DataGridView にバインドされているテーブルを更新します。

    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
        this.salesOrderHeaderTableAdapter.Update(this.yourDataSet.SalesOrderHeader);
    }
于 2013-10-26T20:17:44.797 に答える