2012-10-30 114 views
0

任何人都可以在下面的查询中请求建议 - 我需要从表中获取几个,并且少数将作为变量提供给以下语句。我挣扎如何写这个从表中获取值并在插入查询中添加其他参数

SQLCommand = New SqlCommand("TableA", Conn) 
SQLCommand.CommandText = "Insert into TableA(P1,P2,P3,P4,P5,P6,P7,P8) " & _ 
      "Values (@p1, @P2, @P3, @P4, @P5, @P6, @P7, @P8) 

出于这种@ P1,P2 @,@ P3,P4 @将来自表B 而@ P5,P6 @,@ P7,P8 @将是变数其中值将由函数

我挣扎如何改变上述的CommandText声明提供给 - 来从表B(这是P5,P6,P7,P8)

+0

我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

回答

0
Insert into TableA (P1,P2,P3,P4,P5,P6,P7,P8) 
    SELECT b.column1, b.column2, b.column3, b.column4, @P5, @P6, @P7, @P8 
    FROM TableB b 
    WHERE ... 
值以及其他自定义变量
+0

那么我将如何声明这些参数及其值。意味着_Command.Parameters.Add(新的SqlParameter(“@ p1”,SqlDbType.Int))_SQLCommand.Parameters(0).Value = column1。这是否正确? –

+0

差不多。名字必须匹配:在我的示例中没有'@ p1',我以'@ p5'开头。 –

+0

使用这种方法 - 如果我定义参数,那么它会给我错误。 SQLCommand.Parameters(0).Value = column1(表示column1未定义) –

相关问题