所以我有一個控件,它具有所有不同的用戶輸入(comboBox,textBox,DatePicker等)。我想要的是每次點擊'Save'或'Save & Close'按鈕時更新數據庫表「收據」。將不同輸入的值添加到同一個數據庫行
對於每個對象,我有一個數據綁定到源。這不會引發任何語法錯誤,但這顯然不意味着它是正確的。這裏是一個例子:
this.textBox2.Location = new System.Drawing.Point(73, 150);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(198, 20);
this.textBox2.TabIndex = 15;
this.textBox2.DataBindings.Add("text", ds, "Receipt.Store");
公平地說,我googled如何添加數據綁定,以便可能甚至不正確。
對於我的按鈕,我有以下的代碼,沒有工作(我有我的數據庫,我的代碼開放的一個實例,這樣我就可以驗證):
private void button3_Click(object sender, EventArgs e)
{
SqlCommand saveCommand = new SqlCommand("INSERT INTO Receipt (DateCleared, CategoryID, Amount, Store, DateEntered, HaveReceipt) VALUES (@DateCleared, @CategoryID, @Amount, @Store, @DateEntered, @HaveReceipt)");
saveCommand.Parameters.AddWithValue("@ComboBox", comboBox1.SelectedValue);
saveCommand.Parameters.Add("@Amount", textBox1.Text);
saveCommand.Parameters.Add("@DateCleared", dateTimePicker1);
saveCommand.Parameters.Add("@DateEntered", dateTimePicker2);
saveCommand.Parameters.Add("@Store", textBox2);
saveCommand.Parameters.Add("@HaveReceipt", checkBox1);
this.Dispose();
}
是這個正確的方式去呢?我在本質上試圖做的是每次按下按鈕時添加每個值;但是我擔心這隻會將空值添加到行的其餘部分,並且每次創建6行。
如果我需要添加代碼或信息讓我知道。提前致謝!
「但是我擔心這隻會將空值添加到行的其餘部分,並且每次創建6行。」不能只添加一個if語句或多個語句來檢查任何值是否爲空? – Dessus 2012-01-04 00:34:14
取決於。您的目標是實際將控制*本身*插入到數據庫中(而不是內容)?因爲它看起來就是你想要做的。 – 2012-01-04 00:37:09
我想插入控件的值(comboBox1.SelectedValue等)。數據進入數據庫。 – Phoenix 2012-01-04 00:45:31