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

2024-03-23

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

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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐