3 つの Gridviews を持つ Windows フォームがあります (スクリーンショットを参照) 。グリッドビューの 1 つは空のセルに新しい値を取得し、他の 2 つはそれぞれ新しい行を取得します。保存ボタンをクリックすると、値が追加されたテーブルを更新し、新しい行を他の 2 つのテーブルに挿入したいと考えています。正しいコードを理解するのは非常に困難です。今私は持っています:
private void buttonSave_Click(object sender, EventArgs e)
{
DataTable table1 = alereDataSet.Tables["immaster"];
DataTable table2 = uPCDataSet.Tables["UPC"];
DataTable table3 = hangtagDataSet.Tables["upccode"];
DialogResult dr = MessageBox.Show("Are you sure you want to commit the values to the databases?", "Message", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Information);
if (dr == DialogResult.Yes)
try
{
immasterTableAdapter.Update(table1.Select(null, null, DataViewRowState.CurrentRows));
upccodeTableAdapter.Update(table3.Select(null, null, DataViewRowState.Added));
uPCTableAdapter.Update(table2.Select(null, null, DataViewRowState.Added));
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
しかし、保存をクリックしても何も起こりません。テーブルの Update メソッドが原因だと感じています。3 つのテーブルのうち 2 つは VFP テーブルで、3 つ目は SQL テーブルです。助けが必要なのは、更新コマンドを理解することです。2 つの VFP テーブルは Update メソッドを自動的に作成しません。SQL テーブルのコードは次のとおりです。
UPDATE UPC
SET UPCBarcode = @UPCBarcode, UPCNumber = @UPCNumber, ItemNumber = @ItemNumber, Itemdescrip = @Itemdescrip
WHERE (UPCBarcode = @Original_UPCBarcode) AND (@IsNull_UPCNumber = 1) AND (UPCNumber IS NULL) AND (@IsNull_ItemNumber = 1) AND (ItemNumber IS NULL) AND (@IsNull_Itemdescrip = 1) AND (Itemdescrip IS NULL) OR (UPCBarcode = @Original_UPCBarcode) AND (UPCNumber = @Original_UPCNumber) AND (@IsNull_ItemNumber = 1) AND (ItemNumber IS NULL) AND
(@IsNull_Itemdescrip = 1) AND (Itemdescrip IS NULL) OR
(UPCBarcode = @Original_UPCBarcode) AND (@IsNull_UPCNumber = 1) AND (UPCNumber IS NULL) AND (ItemNumber = @Original_ItemNumber) AND
(@IsNull_Itemdescrip = 1) AND (Itemdescrip IS NULL) OR
(UPCBarcode = @Original_UPCBarcode) AND (UPCNumber = @Original_UPCNumber) AND (ItemNumber = @Original_ItemNumber) AND
(@IsNull_Itemdescrip = 1) AND (Itemdescrip IS NULL) OR
(UPCBarcode = @Original_UPCBarcode) AND (@IsNull_UPCNumber = 1) AND (UPCNumber IS NULL) AND (@IsNull_ItemNumber = 1) AND
(ItemNumber IS NULL) AND (Itemdescrip = @Original_Itemdescrip) OR
(UPCBarcode = @Original_UPCBarcode) AND (UPCNumber = @Original_UPCNumber) AND (@IsNull_ItemNumber = 1) AND (ItemNumber IS NULL) AND
(Itemdescrip = @Original_Itemdescrip) OR
(UPCBarcode = @Original_UPCBarcode) AND (@IsNull_UPCNumber = 1) AND (UPCNumber IS NULL) AND (ItemNumber = @Original_ItemNumber) AND
(Itemdescrip = @Original_Itemdescrip) OR
(UPCBarcode = @Original_UPCBarcode) AND (UPCNumber = @Original_UPCNumber) AND (ItemNumber = @Original_ItemNumber) AND
(Itemdescrip = @Original_Itemdescrip)
他に何を投稿すればよいかわかりません。関連する可能性があると思われるコードが他にもあればお尋ねください。