从表中提取值并在插入查询中添加其他参数

Fetching values from tables and adding other parameters in Insert Query

提问人:Conrad Jagger 提问时间:10/30/2012 最后编辑:Joel CoehoornConrad Jagger 更新时间:10/30/2012 访问量:681

问:

任何人都可以在下面的查询中提供建议 - 我需要从表中获取一些,并且很少将作为变量提供给下面的语句。我正在努力写这个

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 语句 - 从 TableB 和其他自定义变量(即 p5、p6、p7、p8)中获取值

SQL vb.net ado.net

评论

0赞 John Saunders 10/30/2012
我已经编辑了你的标题。请参阅“问题是否应该在标题中包含”标签“,其中的共识是”不,它们不应该”。

答:

0赞 Joel Coehoorn 10/30/2012 #1
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赞 Conrad Jagger 10/30/2012
那么我将如何声明这些参数及其值。表示 _Command.Parameters.Add(New SqlParameter(“@p1”, SqlDbType.Int)) _SQLCommand.Parameters(0)。值 = column1。那么这是对的吗?
0赞 Joel Coehoorn 10/30/2012
几乎。名称必须匹配:我的样本中没有,我从 .@p1@p5
0赞 Conrad Jagger 10/31/2012
使用这种方法 - 如果我定义参数,那么它会给我错误。SQLCommand.Parameters(0) 中。值 = column1(表示未定义 column1)