SQL:ALIAS,INNER JOIN无效

时间:2013-10-08 13:37:04

标签: asp.net sql inner-join alias

我正在做一个学校项目,我需要在asp.net中执行以下操作:

制作包含每张相册中图片数量的photoalbums列表。

我尝试在浏览器(Chrome / Windows)中打开页面时出现错误:

  应用程序中的服务器错误。

     

“相册”附近的语法不正确。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.Data.SqlClient.SqlException:不正确   “专辑”附近的语法。

我怀疑它与SelectCommand和INNER JOIN有关。

我的数据库有2个表:“专辑”和“Billeder”(意思是丹麦语图像)。

“相册”包含以下列:

  • 编号
  • navn (姓名)
  • oprettetDen (创建日期)
  • redigeretDen (编辑日期)

“Billeder”包含以下列:

  • 编号
  • imgnavn (图片名称)
  • thumbnavn (缩略图名称)
  • alt (图片文字)
  • oprettetDen (创建日期)
  • redigeretDen (编辑日期)
  • fkAlbumId “相册”的外键ID -table)

这是我的代码:

<asp:SqlDataSource ID="SqlDataAlbums" runat="server" ConnectionString='<%$ ConnectionStrings:ConnectionString %>' SelectCommand="SELECT Billeder.imgnavn AS billede Album.navn AS albums FROM [Billeder] INNER JOIN Album ON Album.Id = Billeder.fkAlbumId"></asp:SqlDataSource>
<table class="table table-striped">
    <tr>
        <th>Navn</th>
        <th>Antal billeder i Albummet</th>
    </tr>
    <asp:Repeater ID="RepeaterAlbums" DataSourceID="SqlDataAlbums" runat="server">
        <ItemTemplate>
            <tr>
                <td><%# Eval ("albums") %></td>
                <td></td>
            </tr>
        </ItemTemplate>
    </asp:Repeater>
</table> 

2 个答案:

答案 0 :(得分:0)

Billeder.imgnavn AS billedeAlbum.navn AS albums

之间缺少逗号
SELECT Billeder.imgnavn AS billede, Album.navn AS albums 
FROM [Billeder] INNER JOIN Album ON Album.Id = Billeder.fkAlbumId

答案 1 :(得分:0)

您的SELECT语句缺少逗号:

SELECT Billeder.imgnavn AS billede Album.navn

应该是

SELECT Billeder.imgnavn AS billede, Album.navn