2015-12-22 59 views
-1

在我的asp.net程序后端sql中,我需要多次添加相同的数据。 例如:我需要在数据库表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(); 

我试过,但它会插入1时

+1

你的问题是什么?你有什么尝试,没有奏效? –

+0

如果它现在正确运行,您可以随时根据数量运行您的代码几次。 – Hemal

+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

或许你可以尝试自己做....

0

我将创建一个存储过程来做到这一点,并调用。

然后,从应用程序到数据库只有1个调用,而不是多个匹配。

+0

插入表1时触发器会更好。 – jarlh

+0

请为我提供该代码 –