您可以使用表值參數,也可以使用存儲過程,該過程只需將一次xml作爲多次插入的輸入。
表值參數: -
CREATE TYPE dbo.ProductType AS TABLE
(ProductID int, Name nvarchar(250),Price decimal(10,2),Quantity int)
CREATE PROCEDURE sp_InsertProducts
(@tvpProducts dbo.ProductType READONLY)
AS
BEGIN
INSERT INTO dbo.Products (ProductID , Name ,Price,Quantity )
SELECT a.ProductID ,a.Name ,a.Price, a.Quantity FROM @tvpProducts AS a;
END
在你的C#應用程序創建一個產品列表,並添加當用戶創建一個新的產品項目,並在年底的時候就請跟隨按鈕用戶點擊,然後轉換清單數據表和執行SQL查詢
當用戶點擊新的按鈕來添加產品,那麼使用集合添加項
List<Product> _product= new List<Product>
_product.Add()
{
//Bind the gridview columns to the respective fields of the product class
};
在點擊如果你想使用XML存儲過程則是指提交按鈕寫上如下代碼
DataTable dtProducts = ConvertListToDataTable(_product);
SqlCommand cmd = new SqlCommand("sp_InsertProducts", sqlConnection);
SqlParameter p = cmd.Parameters.AddWithValue("@tvpNewDistricts", dtProducts);
p.SqlDbType = SqlDbType.Structured;
p.TypeName = "dbo.ProductType";
cmd.ExecuteNonQuery();
我的其他answer