[英]SQL ERROR: This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression
[英]sql server error = This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression
我的代码有问题。
我使用此代码在sql服务器上创建视图:
SELECT
(SELECT FirstNameD + ' ' + LastNameD AS Expr1
FROM dbo.UsersDatas) AS UsersFullName,
PhoneNumberD, EmailAddressD, UserNameD
FROM dbo.UsersDatas AS UsersDatas_1
并在我的C#应用程序中使用此视图。
在使用c#应用程序设置两行之后,我从Visual Studio中收到以下错误消息:
System.Data.Entity.Core.EntityCommandExecutionException:'从商店提供者的数据读取器读取时发生错误。 有关详细信息,请参见内部异常。
我的C#代码是:
private void SetDataGridViewDatasMethod()
{
var Query = from MU in DataBaseDataD.VW_UsersDatasView
select MU;
var UsersDataD = Query.ToList();
UsersInfoDataGridView.ItemsSource = UsersDataD;
}
并且我在互联网上搜索了很多相关信息,但是找不到任何解决方案,您能帮我解决这个问题吗?
如果要全名,可以这样,不需要内部查询
SELECT
FirstNameD + ' ' + LastNameD AS UsersFullName,
PhoneNumberD, EmailAddressD, UserNameD
FROM dbo.UsersDatas
正如Shantanu所说-不需要内部查询。 而且,您可能不希望使用“ +”运算符来使用CONCAT
SELECT CONCAT(FirstNameD, ' ', LastNameD) AS UsersFullName,
PhoneNumberD, EmailAddressD, UserNameD
FROM dbo.UsersDatas
或者,如果您使用的是SQL Server 2017,则也可以使用CONCAT_WS
SELECT CONCAT_WS(' ', FirstNameD, LastNameD) AS UsersFullName,
PhoneNumberD, EmailAddressD, UserNameD
FROM dbo.UsersDatas
+和CONCAT之间的主要区别在于,当输入之一为NULL时,它们的行为方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.