我已经编译了一个查询数据库的字符串,如下所示:
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/