0

私は VB で単純な Windows フォームを持っています: テキストボックスはアダプターとバインディングソースを介してデータセットにバインドされています。

クリックするとデータベースを更新するボタンがあります。フォームが読み込まれ、最初のデータ行がテキスト ボックスに表示されます。テキストを変更してからボタンをクリックしますが、更新は行われません。

私が間違っていること、またはこれをどのように行うべきかについてのアイデアはありますか??

Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.AToolsTableAdapter.Fill(Me.Qedsandb_TroyDataSet.aTools)

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        AToolsTableAdapter.Update(Qedsandb_TroyDataSet.aTools)

    End Sub
End Class
4

2 に答える 2

0

データをフォームからデータセットに戻していないようです。バインディングソースで EndEdit を呼び出してみてください。

于 2013-06-25T12:54:09.157 に答える
0

クリック イベントが実行されると仮定すると (?)、既定では、クエリ (結合) に基づく TableAdapter にはデータベースを更新する機能がありません。バインディング ソースの名前は、クエリを使用していることを示唆しています。

MSDN: TableAdapter の概要

TableAdapter の更新機能は、TableAdapter ウィザードで提供されるメイン クエリに基づいて利用可能な情報の量に依存します。たとえば、複数のテーブル (JOIN)、スカラー値、ビュー、または集計関数の結果から値をフェッチするように構成された TableAdapter は、基になるデータベースに更新を送信する機能を備えた状態で最初に作成されません。ただし、[プロパティ] ウィンドウで、INSERT、UPDATE、および DELETE コマンドを手動で構成できます。

于 2013-06-24T22:17:06.633 に答える