0

私はSQLデータベースを持っており、その中にサンプルテーブルのデータセットを作成しました.

データセットは HotelDataSet2 で、挿入するデータ テーブル アダプターは Various_itemsTableAdapter です。

 MsgBox(HotelDataSet2.various_items.Rows.Count)
 Various_itemsTableAdapter.Insert(Item_nameTextBox.Text, itemcode, PackingTextBox.Text, UomTextBox.Text, PriceTextBox.Text, RemarksTextBox.Text, TaxTextBox.Text, StatusCheckBox.Checked, Rate_inclusiveCheckBox.Checked)
 MsgBox(HotelDataSet2.various_items.Rows.Count)

これは、挿入の前後に常に同じカウントを反映します..しかし、これを実行すると

MsgBox(HotelDataSet2.various_items.Rows.Count)
Various_itemsTableAdapter.Insert(Item_nameTextBox.Text, itemcode, PackingTextBox.Text, UomTextBox.Text, PriceTextBox.Text, RemarksTextBox.Text, TaxTextBox.Text, StatusCheckBox.Checked, Rate_inclusiveCheckBox.Checked)
Various_itemsTableAdapter.Fill(HotelDataSet2.various_items)
MsgBox(HotelDataSet2.various_items.Rows.Count)

新しいカウントが古いカウントの +1 であることを示しています。したがって、テーブルアダプターを介してテーブルにデータを変更するたびに、常にデータセットを補充する必要があると結論付けました?? それはどのように役立ちますか??

4

1 に答える 1

1

あなたはこれについて間違った方法で進んでいます。を使用しDataSetて変更を行う必要があります (つまり、DataRowそのテーブルで を作成し、それらの行をテーブルに挿入します)。次に、 で関数を呼び出してデータベースへの変更を永続化するためにDataTable、 からに適切な を渡しDataSetます。TableAdapterUpdateTableAdapter

tableAdapter.Update(dataSetName);

関数を直接呼び出すと、Insertそのデータがデータベース自体のテーブルに挿入されるだけです。データのローカル コピー ( など) には影響しませんDataSet

補足として、 のような言語固有の関数を使用しないようにしてくださいMsgBoxMessageBox.Show(...)代わりに、メッセージ ボックスを表示するには、言語に依存しない を呼び出してみてください。

編集

明確にするために、これを行う適切な方法は、新しい を作成し、DataRowその列に新しい値を入力し、それを適切なテーブルに追加してから、関数を介してDataRowにテーブルを渡すことです。TableAdapterUpdate

たとえば、私は...

A DataSet named myDataSet
A DataTable in myDataSet called MyTable
A TableAdapter for MyTable called myTableAdapter
Two columns in that table, FirstName and LastName
Two TextBoxes called txtFirstName and txtLastName

これらの値を含む行を挿入するには、次のようにします。

DataRow row = myDataSet.MyTable.NewRow(); // creates a new row with the correct columns

row["FirstName"] = txtFirstName.Text;
row["LastName"] = txtLastName.Text;

myDataSet.MyTable.Rows.Add(row); // adds the new row to the in-memory table

myTableAdapter.Update(myDataSet); // persists all of the changes to the DataSet
于 2009-08-25T17:52:16.943 に答える