1

Visual Studio 2013 Express エディションを使用して、サービス ベースのローカル データベースを作成しました。接続文字列、データセット、および TableAdapter が自動的に追加されました。

ボタンをクリックすると、TableAdapter.Insert を呼び出してデータを挿入しようとしています。データセットにバインドされた dataGridView のデータソースが既にあるため、実行時にデータがテーブルに適切に挿入されたことをすぐに確認できますが、アプリケーションを閉じます。実際の DB にはデータが含まれていません。したがって、データは実際には DB に挿入されません。

http://msdn.microsoft.com/en-us/library/ms233812%28v=vs.110%29.aspxによると

挿入では、挿入を呼び出すだけで済みますが、安全のためにテーブルで Update と AcceptChanges を呼び出しています。リンクに示されている最初の方法 (つまり、行を作成してデータセットに追加してから更新を呼び出す) も試しましたが、データがDBにまったく挿入されていないようです。

最後に、挿入コード、rds は DataSet、ta は TableAdapter です。

private void AddBtn_Click(object sender, EventArgs e)
{
     ta.Insert("foo", "bar", 2, "zing", "tada");
     ta.Fill(rds.reminders);
     rds.reminders.AcceptChanges();
     ta.Update(rds.reminders);  
}
4

2 に答える 2

0

ClearBeforeFill プロパティ
http://msdn.microsoft.com/en-us/library/bz9tthwx.aspx

「デフォルトでは、クエリを実行して TableAdapter のデータ テーブルを埋めるたびに、データがクリアされ、クエリの結果のみがテーブルに読み込まれます。」

于 2013-11-09T06:56:35.553 に答える