我在一个项目的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的新手,但我也没有很多实践经验。有人可以指出语法错误吗?感谢您的帮助,谢谢。
答案 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)
将+
替换为&