Ошибка сервера SQL = это недопустимо, если подзапрос следует =,! =, <, <=,>,> = или когда подзапрос используется в качестве выражения - PullRequest
0 голосов
/ 24 мая 2019

У меня проблема с моим кодом.

Я использую этот код для создания представления на сервере 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;
}

, и я много об этом ищу в Интернете, но не могу найти какое-либо решение, которое можетВы помогаете мне решить эту проблему, пожалуйста?

Ответы [ 2 ]

4 голосов
/ 24 мая 2019

Если вы хотите полное имя, вы можете сделать это, не нужно внутреннего запроса

 SELECT
FirstNameD + ' ' + LastNameD  AS UsersFullName,
 PhoneNumberD, EmailAddressD, UserNameD
FROM dbo.UsersDatas 
0 голосов
/ 24 мая 2019

Как говорит Шантану - нет необходимости во внутреннем запросе. И вместо использования оператора «+» вы можете использовать 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...