2016-04-28 42 views
1

我无法弄清楚: 我想在表中添加一行a,此行的3列将来自表b,其他2列将来自例如文本框... 此代码没有工作......将2插入到一个命令中

SqlCommand cmd35 = new SqlCommand("INSERT INTO BTmr (Barcode,[Machine Name],[Machine ID]) SELECT Barcode,[Machine Name],[Machine ID] FROM BkmP WHERE barcode like '" + c13 + "%' UNION INSERT INTO BTmr([Repair Cost],[Repair Date],Barcode)values (@cst,@rprd)", connection); 

      cmd35.Parameters.AddWithValue("@cst", textBox10.Text); 
      cmd35.Parameters.AddWithValue("@rprd", dateTimePicker1.Text); 
+0

选择表-B的列投入表之前和你将所有的值成为表 - 输入一个。 – randominstanceOfLivingThing

+0

您的选择应该在insert语句之外执行,以便将列值读入变量。 – randominstanceOfLivingThing

回答

0

只要把参数静态值在SELECT语句。

SqlCommand cmd35 = new SqlCommand("INSERT INTO BTmr (Barcode,[Machine Name], 
    [Machine ID],[Repair Cost],[Repair Date]) SELECT Barcode,[Machine Name], 
    [Machine ID],@cst AS [Repair Cost],@rprd AS [Repair Date] FROM BkmP WHERE 
    barcode like '" + c13 + "%', connection); 

cmd35.Parameters.AddWithValue("@cst", textBox10.Text); 
cmd35.Parameters.AddWithValue("@rprd", dateTimePicker1.Text); 

虽然your're它,那参数where子句:https://stackoverflow.com/a/251380/123422

+0

非常感谢你的工作...... –