ahmed_sa Ответов: 1

Как изменить представление cardsdatavalue без ошибки отображения многосоставный идентификатор "dbo.cardreceived.year" не может быть привязан. ?


Я работаю над приложением с использованием базы данных csharp и sql server 2014

при проверке проблемы я обнаружил проблему

это имя таблицы существует перед полями следующим образом :

SELECT     * from cardsdatavalue Where 1=1  and  dbo.CardReceived.Year = '2019' and  dbo.CardReceived.ReceivedDate >= '2019-01-01' and CardReceived.ReceivedDate <= '2019-04-16'


приведенное выше утверждение будет работать, если я удалю имя таблицы cardrecieved из инструкции where

но это заставит меня сделать новый exe так что
Как сделать изменения в представлении, чтобы выполнить эту работу с SQL server 2014 без
изменение цены на Си-Шарп EXE-файл ?
это означает, что мне нужно изменить вид cardsdatavalue, чтобы сделать ошибку нескольких частей не отображаемой ?

create view cardsdatavalue as <pre>SELECT        dbo.CardReceived.MemberCode, dbo.Members.SpecialCode, dbo.Members.Name, dbo.CardReceived.Year, dbo.CardReceived.ReceivedDate, 
                         dbo.CardReceived.Notes, dbo.CardReceived.CardType, dbo.CardType.CardAraType, dbo.CardType.CardLatType
FROM            dbo.CardReceived LEFT OUTER JOIN
                         dbo.CardType ON dbo.CardReceived.CardType = dbo.CardType.CardTypeId LEFT OUTER JOIN
                         dbo.Members ON dbo.CardReceived.MemberCode = dbo.Members.MemberCode


Что я уже пробовал:

предотвратите ошибку отображения многосоставного идентификатора, изменив вид viewcardsdata

1 Ответов

Рейтинг:
2

F-ES Sitecore

Вы хотите изменить способ работы программы, не меняя ее? Очевидно, что это невозможно. Если вы хотите иметь возможность изменять SQL без изменения вашего приложения, то поместите SQL в хранимую процедуру и вызовите хранимую процедуру из вашего кода. Таким образом, вы можете изменить хранимую процедуру без необходимости обновлять свое приложение.


ahmed_sa

мне нужно менять на взгляд, чтобы предотвратить отображение ошибок на программу EXE-файл, только то, что мне нужно
возможно ли это, я читал в интернете, что я могу изменить порядок таблицы на представлении, чтобы предотвратить ошибку diplsy, но я не знаю, как это сделать ?

ahmed_sa

пожалуйста, оставьте все это выше моего вопроса следующим образом
я открываю новый запрос sql server 2014 и пишу запрос следующим образом
Выберите * из cardsdatavalue, где 1=1 и dbo.CardReceived.Year = '2019' и dbo.CardReceived.ReceivedDate >= '2019-01-01' и CardReceived.ReceivedDate <= '2019-04-16'
Есть ли какой-либо способ получить результат данных без изменения имени таблицы условий where