2014-04-27 5 views
1

Я работаю над ASP-страницей для проекта, который должен предоставить интерфейс для пользователя, чтобы поддерживать информацию о местном небольшом бейсболе и софтболе. Я продолжаю получать ошибку:Ошибка синтаксиса оператора SqlDataSource

Ошибка синтаксиса в предложении FROM.

Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

при попытке использовать SqlDataSource со следующим SelectCommand:

SELECT tblPlayers.PlayerCode, tblPlayers.First_Name, 
          tblPlayers.Last_Name, tblPlayers.Gender, 
          tblPlayers.Date_of_Birth, tblPlayers.League_age, 
          tblPlayers.InActiveStatus, 
          tblParentMaster.ParentFirst+' '+tblParentMaster.Parentlast AS Parent_1, 
          tblParentMaster_2.ParentFirst+' '+tblParentMaster_2.ParentLast AS Parent_2, 
          tblPlayers.Birth_Certificate_on_file 
        FROM tblPlayers 
        JOIN tblParentMaster 
         ON tblPlayers.HOHCode = tblParentMaster.ParentCode 
        JOIN tblParentMaster AS tblParentMaster_2 
         ON tblPlayers.Parent2Code = tblParentmaster_2.ParentCode 
        WHERE (tblPlayers.PlayerCode = @PlayerCode) 

В этом коде @PlayerCode является атрибутом SelectedValue из GridView управления на странице. Я уже объявил ControlParameter для SqlDataSource с вышеприведенным SelectCommand:

<SelectParameters> 
     <asp:ControlParameter ControlID="selectPlayerGridView" Name="PlayerCode" 
      PropertyName="SelectedValue" Type="String" /> 
    </SelectParameters> 

SQL-оператор выбора используется для заполнения данных в FormView. Я не собираюсь публиковать код для FormView, синус - это большой кусок кода. Я не новичок в SQL, но у меня тоже нет практического опыта. Может ли кто-нибудь указать на ошибку синтаксиса? Я ценю любую помощь, спасибо.

+0

Кажется, что нет ничего неправильного с t он SELECT. Как вы устанавливаете SelectCommand? –

+0

Вы пытались запустить инструкцию в клиенте СУБД? Какой двигатель вы используете BTW? –

+0

SelectCommand устанавливается как атрибут в открывающем теге SqlDataSource. <Жерех: SqlDataSource ID = "playerDataSource" Runat = "сервер" ConnectionString = "<% $ ConnectionStrings: littleLeagueConnectionString%>" OldValuesParameterFormatString = "original_ {0}" ProviderName = "<% $ ConnectionStrings: littleLeagueConnectionString.ProviderName%> «Также есть инструкции INSERT, DELETE и UPDATE. Я еще не пробовал запустить команду в клиенте СУБД. База данных представляет собой файл .mdb. Вот диаграмма отношений из Access: http://screencast.com/t/10BCQKW6T –

ответ

0

, как вы сказали в комментарии

Если вы используете .mdb файл, то это MS Access database то он должен быть связан с использованием OleDb providers

и тогда ваш запрос должен быть как следующий

SELECT tblPlayers.PlayerCode, tblPlayers.First_Name, 
          tblPlayers.Last_Name, tblPlayers.Gender, 
          tblPlayers.Date_of_Birth, tblPlayers.League_age, 
          tblPlayers.InActiveStatus, 
          tblParentMaster.ParentFirst & ' ' & tblParentMaster.Parentlast AS Parent_1, 
          tblParentMaster_2.ParentFirst & ' ' & tblParentMaster_2.ParentLast AS Parent_2, 
          tblPlayers.Birth_Certificate_on_file 
        FROM tblPlayers 
        JOIN tblParentMaster 
         ON tblPlayers.HOHCode = tblParentMaster.ParentCode 
        JOIN tblParentMaster AS tblParentMaster_2 
         ON tblPlayers.Parent2Code = tblParentmaster_2.ParentCode 
        WHERE (tblPlayers.PlayerCode = @PlayerCode) 

Замените + на &

Смежные вопросы