我想从数据库中选择两列(名字和姓氏),将它们合并为一列,然后将它们粘贴到数据集中以显示在数据网格中。我还需要在它们之间添加一个空格来进行格式化。
我的正常SQL语句:
SELECT first_name + ' ' + last_name as userName from Table
我目前的VB声明:
strSQL = "SELECT first_name + ' ' + last_name as userName from Table"
当我尝试执行此操作时,我的应用程序会抛出以下错误:System.Data.SqlClient.SqlException: An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Add a name or single space as the alias name.
编辑:对于那些询问数据库和/或这是否是正确查询的人,如果我按如下方式格式化我的VB查询:
strSQL = "SELECT first_name + last_name as userName from Table"
我得到了正确的结果,但是该列看起来像FirstLast
并且很难阅读。
我猜错了如何在VB中如何正确地做到这一点。有人可以建议吗?
我尝试的事情:
strSQL = "Name = TU1.first_name + ' ' + TU1.last_name"
这会引发同样的错误。然而...
strSQL = "Name = TU1.first_name + '' + TU1.last_name"
给了我First'Last
答案 0 :(得分:3)
在SQL中格式化字符串时,使用SPACE()函数排除引用不一致:
strSQL = "SELECT first_name + SPACE(1) + last_name as userName from Table"
话虽如此,这种格式最好留给演示文稿,而不是数据层。