[英]How to insert data from 2 different sources into 2 different tables in SQL server using Web application?
好的,基本上我已經在Visual Studio 2012 Ultimate中創建了Web應用程序,並且一頁具有這種設計:
我還在數據庫中創建了3個表:
產品:[ id
] [ name
]
拍賣:[ id
] [ productid
] [ lastbider
] [ bidvalue
] [ lastbid
]
用戶:[ id
] [ name
] [ password
] [ bids
]
我需要的是,當我單擊按鈕時,它需要將Textbox
插入到products表中的[ name
]中,還要將Listbox
數字插入到bidvalue
表中的[ bidvalue
]中。 我該怎么做,我需要2個SqlCommands
嗎?
試試這個,然后打電話
InsertData("Insert into Products (Name) Values ('" + txtName.Text + "'); Insert Into Auctions (bidvalue) Values ('" + lstBidValues.SelectedValue + "');");
public void InsertData(string query)
{
using (SqlConnection con = new SqlConnection("Your connection string here"))
{
if (con.State != ConnectionState.Open)
con.Open();
using (SqlCommand command = con.CreateCommand())
{
command.CommandText = query;
command.ExecuteNonQuery();
}
}
}
是的,基本上,您正在嘗試對兩個不同的表執行INSERT
,因此您需要執行兩個不同的INSERT
操作。 雖然,我懷疑您可能想執行UPDATE
但是除非您明確說明,否則不能肯定地說。
同樣,您可以使用存儲過程(例如
create procedure usp_addData(@name varchar(10), @bidvalue INT)
as
begin
//Perform first insert/update in products table using the @name parameter
//perform second insert/update in auctions table using the @bidvalue parameter
end
從您的應用程序中調用此存儲過程,而不是進行兩個不同的數據庫調用。
***省略了C#
代碼示例,以使答案保持簡單。 您可以從SO中的C#
中獲得許多調用存儲過程的示例。
由於您將需要在Auctions表中使用ProductId
,因此需要在Products中進行插入,然后獲取在sql中創建的productId
,以將其與所擁有的bidValue
一起添加到Auctions表中。 這可以通過一個SqlCommand
調用存儲過程來完成,該存儲過程如下圖所示。
BEGIN TRANSACTION
INSERT INTO PRODUCTS VALUES('PRODUCT NAME')
DECLARE @newProductId int = SELECT SCOPE_IDENTITY()
INSERT INTO AUCTIONS(ProductId, lastBidder, bidValue, lastbid)
VALUES (@newProductId, 'yourlastbidder, 'bidValue', 'lastbid')
END TRANSACTION
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.