0

これは些細なことだと思います。しかし、正しく機能しているように見える他の場所に同様の設定があるのに、データベースが更新されない理由がわかりません。

DSEditObject という型指定されたデータセットと、DsEditObject1 というフォーム上のそのインスタンスがあります。このデータセットには、「オブジェクト」と呼ばれるテーブルがあります。

データバインディングテキストプロパティが次のテキストボックスがあります: ObjectBindingSource - objectName

この「ObjectBindingSource」には、DsEditObject1 の datasource プロパティと「Object」の datamember プロパティがあります。

フォームをロードすると、実行時に構成された dataadapter を使用してデータセットに入力します。textbox.text プロパティは、期待するデータベースの列データに設定されます。

保存ボタンからのクリックを処理して呼び出しました

SqlDataAdapter1.Update(DsEditObject1, "Object")

コマンド ウィンドウを使用して、更新コマンドが呼び出される前に、データセットの値がテキスト ボックス入力に変更されていることを確認しました。

UPDATE [オブジェクト] SET [オブジェクト名] = @オブジェクト名 WHERE (([オブジェクトID] = @元のオブジェクトID))

しかし、何らかの理由でデータベースが更新されず、エラーも発生しません

編集:

.endcurrentEdit() を呼び出すのを忘れていました

BindingContext(DsEditObject1, "Object").EndCurrentEdit()
4

2 に答える 2