フォトギャラリーページを作成しようとしています。 このページには、多数のグループ(テニス、ゴルフなど)が表示されます。各グループには多数のフォトコレクションがあり、各コレクションには多数のイメージがあります。画像を表示しようとしたときに2つ以上の値を返すサブクエリ
ネストされたリピーターを使用して、グループ名を表示してから、写真コレクション名をクリックしてから画像を表示します。
コレクションに1つのイメージがある場合、私のコードは正常に動作します。しかし、コレクションに2番目のイメージを追加すると、以下のエラーが表示されます。
このクエリの目的はそれに接続されているすべての画像を取得することであるサブクエリが1つ以上の値を返しました。サブクエリは、次の時にこれが許可されていない=、!=、<、< =、>、> =またはサブクエリが式として使用されている場合
写真コレクション。
1つではなく、各コレクションのすべての画像を表示するために必要な変更は何ですか?
<div class="panel-heading">
<h4 class="panel-title"><%# Eval("Group_Name") %></h4>
</div>
<div class="panel-body">
<asp:Repeater ID="repPhotoAlbums" runat="server" OnItemDataBound="repPhotoAlbums_ItemDataBound">
<ItemTemplate>
<div class="col-lg-12">
<h5><%# Eval("Name") %></h5>
<asp:Repeater ID="repPhotos" runat="server">
<ItemTemplate>
<a id="imageLink" href='<%# Eval("filename","../Images/{0}") %>' title='<%#Eval("imageDesc") %>' rel="lightbox[Brussels]">
<asp:Image ID="Image1" ImageUrl='<%# Bind("filename", "../Images/{0}") %>' runat="server" Width="112" Height="84" />
</a>
</ItemTemplate>
</asp:Repeater>
</div>
<!--col-lg-12-->
</ItemTemplate>
</asp:Repeater>
</div>
<!--panel-body-->
のC#:
protected void repPhotoAlbums_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
Repeater repPhotos = (Repeater)(e.Item.FindControl("repPhotos"));
string Group_Id = DataBinder.Eval(e.Item.DataItem, "p_Collection_Id").ToString();
//Need to assign the Data in datatable
SqlDataAdapter sda = new SqlDataAdapter("SELECT Id, filename, imageDesc FROM Group_Images WHERE ID = (Select g_Image_Id = Group_Image_Id FROM Photo_Collection_Images WHERE Photo_Collection_Id = '" + Group_Id + "');", con);
DataTable dt = new DataTable();
sda.Fill(dt);
repPhotos.DataSource = dt;
repPhotos.DataBind();
}
}
また、私はそれが助け場合は、このデータを格納するSQLテーブルを投稿することができます。 私を助けることができる人には、ありがとうございます。
これはパラメータ化する必要があります。 –
@SeanLange私は同意しますが、私はこれがコースワークだと推測しています。 – SqlZim
そうかもしれません。私はちょうどそれが何かが救済されるので言及する必要があると言っています。他の人が答えを探して、自分のウェブサイトでこれを飛ばしているかもしれません。 –