SqlDataSource选择语句语法错误

时间:2014-04-27 21:23:22

标签: asp.net sql sql-server database

我在一个项目的ASP页面上工作,这应该为用户提供一个界面,以维护当地小联盟棒球和垒球的信息。我一直收到错误:

FROM子句中的语法错误。

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

尝试使用带有以下SelectCommand的SqlDataSource时:

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)

在此代码中,@ LayerCode是页面上GridView控件的SelectedValue属性。我已经使用上面的SelectCommand声明了SqlDataSource的ControlParameter:

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

SQL select语句用于将数据填充到FormView中。我没有费心去发布FormView的代码,因为它是一大块代码。我不是SQL的新手,但我也没有很多实践经验。有人可以指出语法错误吗?感谢您的帮助,谢谢。

1 个答案:

答案 0 :(得分: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)

+替换为&