c# - 当使用 "AS"的查询创建数据表列时,无法引用该列

标签 c# sql datatable

我创建了一个数据表,并使用其中包含“AS”的 SQL 查询来填充该数据表。

示例:

SELECT (tblUser.FirstName + ' ' + tblUser.LastName) AS 'UserFullName' 
FROM tblUser

我用

SqlDataAdapter.Fill(dtblUserInfo) 

填充表格并验证 UserFullName 列是否存在,其中包含一串数据。

我尝试使用

引用此单元格
string strUserFullName = dtblUserInfo.Rows[0]["UserFullName"].ToString(); 

尽管我可以通过添加 watch 看到该单元格中有数据,但它返回一个空字符串。

我确信 Row[0] 是包含数据单元格的行,通常不会对该值进行硬编码,而只是用于解释和调试目的。

对此有什么想法吗?

谢谢, 史蒂夫。

最佳答案

替换这个即可

SELECT (tblUser.FirstName + ' ' + tblUser.LastName) AS 'UserFullName' 
FROM tblUser

按此

SELECT (tblUser.FirstName + ' ' + tblUser.LastName) AS UserFullName 
FROM tblUser

当您使用 AS 时,您不需要单引号,它需要一个新的列名称。列名永远不要用引号引起来。

如果您想将名称替换为用户全名等 2 个单词,则需要使用 [],例如 [UserFullName]。

关于c# - 当使用 "AS"的查询创建数据表列时,无法引用该列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762472/

相关文章:

c# - C# 中允许在 O(1) 中反转的数据结构

c# - 使用多个表单,在 ASP.NET Web 表单页面上提交按钮

mysql - 插入到来自不同表的多个选择中

C# 搜索 "Did you mean"功能

c# - getschema ("Columns") + 返回数据类型;

MySQL 选择另一个表上的计数查询

mysql - Rails 如何检查 sql 查询生成的内容

c# - 如何通过主键和外键(右连接)合并两个数据表?

ajax - 使用 Ajax 从 DataTable 中删除单行

c# - 为什么 LINQ 无法将 DataRows 添加到 DataTable?