2011-06-27 11 views
2

データベースへの変更を更新するためにデータセットを取得する際に問題が発生しています。テーブルバインド更新を使用してC#バウンドテキストボックスが更新されない

まず、テーブルアダプタで作成したFillByクエリを使用してデータセットを入力します。 「テストID =(テストID = @testId)単一のレコードを返します

が。私は、フォーム上で、独自のテキストボックスにdataset.datatableの各列をバインドしたいtblTest SELECT * FROM。

textBox1.DataBindings.Add("Text", dataset.datatable, dataset.datatable.NameColumn.ToString()); 

これは、データの罰金をロードします。私は、テキストボックス内のデータにいくつかの変更を行います。私は、データベースへの変更を更新しtableadapter.Update(データセット)を使用するときに、それがレコードを更新しません。

場合このデータセットでデータグリッドを作成し、変更してからtableadapter.update(データセット)を実行すると、レコードが更新されます。

datagridを使用せずにtableadapter.update()を使用するにはどうすればよいですか? tableadapterのカスタムアップデートを作成する必要がありますか?

答えて

1

データベースが更新されなかった理由を知りました。私は変更された行の行状態をチェックし、それでもまだ "未修正"の状態になっていました。

バインディングの設定を変更し、データソースをデータセットとして新しいバインディングソースを作成しました。 datasetはdataset.datatableとして設定されます。次に、そのバインディングソース内の列にコントロールをバインドします。

次の行が必要であるtableadapter.update(データセット)を実行する前に、行状態は、次に適切

更新

this.BindingSource.EndEdit(); 

すべてを変更するように

関連する問題