我编译了一个查询数据库的字符串,如下所示:
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(使用前将#替换为@)