c# - 在 WebMatrix 中由 C# 生成选择查询后,在带有空格的列上使用 row.ColumnName

标签 c# sql-server database webmatrix

我已经编译了一个查询数据库的字符串,如下所示:

stringCompiler = "SELECT * FROM SomeTable";

问题在于某些列的名称中包含空格(即“城市标签编号”)。

使用 db.Query 语句后如何调用它。示例:

foreach(var row in db.Query(stringCompiler))
{
    var someVariable = row.Column With Spaces;
}

显然上面的代码会产生错误。

我可以遍历每一列,而不是使用“*”,同时为所有包含空格的列名分配别名。示例:

stringCompiler = "SELECT \"City Tag Number\" AS CityTagNumber, ...";

但是这个表中有很多列名,我假设有更好的方法,但我只是找不到它(我保证,我已经看过了)。

非常感谢任何帮助。

----------------编辑------------------------------------

我应该指定我正在使用 SqlServer。

最佳答案

在传递给数据库引擎的sql文本中,通常(但取决于实际的数据库)使用方括号(SqlServer、Access)或反引号(mysql)

 stringCompiler = "SELECT [City Tag Number] AS CityTagNumber, ...";

 stringCompiler = "SELECT `City Tag Number` AS CityTagNumber, ...";

在代码中(假设行是 DataRow),您将列的名称用作字符串

foreach(var row in db.Query(stringCompiler))
{
    var someVariable = row["City Tag Number"].ToString();
}

关于c# - 在 WebMatrix 中由 C# 生成选择查询后,在带有空格的列上使用 row.ColumnName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979184/

相关文章:

mysql - 关系中的 SQL 搜索

c# - 在 XAML 中使用 ["string"] 语法进行数据绑定(bind)

c# - 防止 ItemTemplate 中的 LinkBut​​ton 回发并使用 Evaluated val 作为参数执行 javascript 函数

java - 插入查询 - executeUpdate 返回 -1

sql - 我在我的数据库中发现了很多奇怪的字符串,有人试图进入我的网站?

sql - SQL Server 2008 中的更新列

android - 数据库调用使 Android 应用程序崩溃

c# - 扫描图像与原始图像匹配

c# - 如何使用自定义类型重载 System.Math 方法

database - 私信数据库设计