【问题标题】:Adding column to base SQL select statement将列添加到基本 SQL 选择语句
【发布时间】:2016-07-27 18:58:09
【问题描述】:

抱歉,如果之前有人问过这个问题,但我什至不知道如何搜索这个。

我正在使用 VB 编写代码,我想知道是不是这个;

我有一个已定义的SqlCommand:

Dim cmd As New SqlCommand("Select [Field1], [Field2], [Field3] From [Table] Where [FieldX] = @parameter ")

如何在不更改基础SqlCommand 的情况下使用代码添加另一个字段?

所以 temp SqlCommand 如下所示:

Dim cmd As New SqlCommand("Select [Field1], [Field2], [Field3] [Field4 Added Dynamically] From [Table] Where [FieldX] = @parameter ")

如果我让任何人或所有人感到困惑,请告诉我,我会尽力解释清楚。

MC

【问题讨论】:

  • 你可以编辑commandtext属性
  • 您的意思是您需要的第四列是在运行时定义的?在这种情况下,您可以拥有一个变量Field4,并为其分配列名。在您的 SQL 命令中,只需相应地连接此变量即可。

标签: sql asp.net sql-server vb.net


【解决方案1】:

这是你要找的吗?

Dim DynamicField = "FieldToAdd"
Dim cmd As New SqlCommand("Select [Field1], [Field2], [Field3], " + DynamicField + " From [Table] Where [FieldX] = @parameter ")

我不记得确切的 VB 语法,但你可以使用替换:

Dim DynamicField = "FieldToAdd"
Dim Sql = "Select [Field1], [Field2], [Field3], ##DynamicField## From [Table] Where [FieldX] = @parameter "
Sql = Sql.Replace("##DynamicField##", DynamicField)
Dim cmd As New SqlCommand(Sql)

【讨论】:

  • 天啊!!甜蜜的,这正是我要找的!谢谢!!
  • 离墙问题:如果我将 SqlCommand 保存为字符串,您能否以某种方式动态地将字段添加到字符串中。我只问这个是因为我已经能听到我的老板问这个......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-23
  • 1970-01-01
  • 2019-01-03
  • 2010-10-03
  • 1970-01-01
  • 2020-12-09
相关资源
最近更新 更多