除非我誤解你的問題,它應該是一個簡單的事情,添加另一個參數。
using (SqlCommand cmd = new SqlCommand(
"INSERT INTO [Orders] (info, Price, VAT, Customer_ID) VALUES (@info, @Price, @VAT, @Customer_ID)"))
{
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@info", input1.Text);
cmd.Parameters.AddWithValue("@Price", input2.Text);
cmd.Parameters.AddWithValue("@VAT", input3.Text);
cmd.Parameters.AddWithValue("@Customer_ID", input4.Text);
conn.Open();
cmd.ExecuteNonQuery();
}
如果沒有CUSTOMER_ID作爲輸入域,並希望使其始終創建一個訂單客戶「1」,然後執行以下操作
using (SqlCommand cmd = new SqlCommand(
"INSERT INTO [Orders] (info, Price, VAT, Customer_ID) VALUES (@info, @Price, @VAT, 1)"))
{
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@info", input1.Text);
cmd.Parameters.AddWithValue("@Price", input2.Text);
cmd.Parameters.AddWithValue("@VAT", input3.Text);
conn.Open();
cmd.ExecuteNonQuery();
}
反之,如果你想要做看看哪個客戶訂單是更加動態的,我們將首先需要關於您的數據輸入的更多信息。您需要執行select查詢來查找customer_ID,然後將其作爲參數傳入,或者僅在插入查詢中進行子選擇。
編輯:
下面是使用動態查詢代碼,您在留言
using (SqlCommand cmd = new SqlCommand(
"INSERT INTO [Orders] (info, Price, VAT, Customer_ID) SELECT @info, @Price, @VAT, CustomerID FROM Customer WHERE Name = @Username)"))
{
cmd.Connection = conn;
cmd.Parameters.AddWithValue("@info", input1.Text);
cmd.Parameters.AddWithValue("@Price", input2.Text);
cmd.Parameters.AddWithValue("@VAT", input3.Text);
cmd.Parameters.AddWithValue("@Username", SomeVariableWithUsername);
conn.Open();
cmd.ExecuteNonQuery();
}
我不想輸入外鍵...我想從目前的閱讀登錄的用戶 – aiden87
好吧,有沒有在客戶表與登錄用戶當前匹配的領域? 如果是這樣,那麼您可以使用客戶表中的唯一標識信息來查找正確的客戶。 在您查詢將會像 'INSERT INTO [常規](信息,價格,增值稅,CUSTOMER_ID)選擇@info,@price,@VAT,從客戶WHERE名稱= @用戶)' 然後,只需添加@UserName這種情況下,作爲另一個參數 –
不,你可以在我的問題中看到我的領域。 Customer_ID應該是數字1 ....基於此,客戶可以得到他的訂單信息 – aiden87