多次将项目插入数据库

时间:2015-12-22 07:52:36

标签: sql asp.net

在我的带有后端sql的asp.net程序中,我需要多次添加相同的数据。 例如:我需要在数据库表table1中插入Num-1212,Qty-3,Date-20-02-15,code-A11的项目。

同时我需要将这些数据添加到另一个表table2中,如下所示。时间项重复次数等于数量。请帮助。

enter image description here

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();

我尝试了这个,但它会在一次插入

2 个答案:

答案 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次数据库,而不是多次点击。