我在JOIN操作错误中出现语法错误

时间:2013-08-17 01:13:45

标签: asp.net sql ms-access web

所以我在SELECT语句中尝试了几种变体,它不断告诉我“JOIN操作中的语法错误”或“无效包围”或“FROM子句中的语法错误”

<asp:AccessDataSource ID="AccessDataSource1" runat="server" 
    DataFile="~/App_Data/TravelJoansDB.accdb" 
    SelectCommand="SELECT * FROM [Table2] INNER JOIN BlogEntryItems ON  Table2.ID=BlogEntryItem.BlogID WHERE ([ID]=@ID)">
    <SelectParameters>
      <asp:QueryStringParameter Name="ID" QueryStringField="ID" Type="Decimal" />                    
    </SelectParameters>
</asp:AccessDataSource>
<asp:DataList ID="DataList1" DataSourceID="AccessDataSource1" 
    runat="server" ItemStyle-CssClass="picTableStyle"
    DataKeyField="BlogTitle">
    <ItemStyle></ItemStyle>
    <ItemTemplate>
        <table>
           <tr>
              <td>
                 <asp:Image ID="Image1" runat="server" ImageUrl='<%# "PlaceImages/" + Eval("Image") %>' /><br />
                 <asp:Label ID="Label1" CssClass="picCaptionStyle" runat="server" Text='<%# Eval("Caption") %>' />
              </td>
           </tr>
           <tr>
              <td>
              <asp:Label ID="Label4" class="picBodyText" runat="server" Text='<%# Eval("PicStory") %>' />
              </td>
           </tr>
        </table>
    </ItemTemplate>

</asp:DataList>

我正忙着去做。正如您所看到的,我正在尝试传递记录的ID,最终在我的主页上为我的网站传递,并使用它来从“BlogEntryItem”表中提取记录并将其拉到我网站上的另一个页面中用这些项填充页面。那有意义吗?为什么我的JOIN不工作?

2 个答案:

答案 0 :(得分:2)

INNER JOIN BlogEntryItems ON Table2.ID = BlogEntryItem 。忘记表名

中的内容

答案 1 :(得分:1)

这是语法错误。

Table2.ID = @ID

SELECT * FROM [Table2] INNER JOIN BlogEntryItems ON  Table2.ID=BlogEntryItem.BlogID WHERE Table2.ID = @ID