在我的带有后端sql的asp.net程序中,我需要多次添加相同的数据。 例如:我需要在数据库表table1中插入Num-1212,Qty-3,Date-20-02-15,code-A11的项目。
同时我需要将这些数据添加到另一个表table2中,如下所示。时间项重复次数等于数量。请帮助。
String str1 = "insert into table2 select * from table1;";
SqlCommand xp1 = new SqlCommand(str1, con);
con.Open();
SqlDataAdapter da1 = new SqlDataAdapter();
da1.SelectCommand = xp1;
DataSet ds1 = new DataSet();
da1.Fill(ds1, "Code");
GridView1.DataSource = ds1;
con.Close();
我尝试了这个,但它会在一次插入
答案 0 :(得分:1)
存储过程[未经测试]
CREATE PROCEDURE [dbo].[AStoredProcWrittenmForMe] ( @num int,
@qty int,
@code nvarchar(10),
@date DateTime)
AS
BEGIN
DECLARE @newId int;
INSERT INTO table1
SELECT @num, @qty, @code, @date;
SET @newId = @@IDENTITY;
DECLARE @loop int = @qty;
WHILE @loop > 0
INSERT INTO Table12
SELECT @newId, @num, @qty, @code, @date;
SET @loop = ~loop - 1;
BEGIN
END
END
GO
您可以通过SQL命令ExecuteReader调用它.... https://msdn.microsoft.com/en-us/library/9kcbe65k%28v=vs.110%29.aspx
也许你可能会尝试自己这样做....
答案 1 :(得分:0)
我会创建一个存储过程来执行此操作并调用它。
然后,您只需要从应用程序调用1次数据库,而不是多次点击。