检索SQL Server表ID&根据该ID

时间:2017-01-05 22:06:24

标签: c# asp.net sql-server

我在SQL Server数据库中有一个Group表和一个Images表。将每个图像插入表格后,它们将链接到不同的组。

我正在尝试为群组表格中的每一行显示单独的照片库。

下面的Repeater根据Groups表中的行数创建一个DataList。但是,它会显示所有图像,而不是链接到该特定组的图像。

 <asp:Repeater ID="rptGroupGallery" runat="server" EnableViewState="false">
                                            <ItemTemplate>
                                                <asp:DataList DataKeyField="ID" RepeatDirection="Horizontal" RepeatColumns="3" CellPadding="5" runat="server" DataSourceID="dataSource">
                                                    <ItemTemplate>
                                                        <div style="padding-bottom: 10px;">
                                                            <a id="imageLink" href='<%# Eval("filename","~/SlideImages/{0}") %>' title='<%#Eval("imageDesc") %>' rel="lightbox[Brussels]" runat="server">
                                                                <asp:Image ID="Image1" ImageUrl='<%# Bind("filename", "~/SlideImages/{0}") %>' runat="server" Width="112" Height="84" />
                                                            </a>
                                                        </div>
                                                    </ItemTemplate>
                                                </asp:DataList>
                                            </ItemTemplate>
                                        </asp:Repeater>
                                        <asp:SqlDataSource ID="dataSource" runat="server" ConnectionString="<%$ ConnectionStrings:BallinoraDBConnectionString1 %>" SelectCommand="SELECT * FROM [SlideShowTable]"></asp:SqlDataSource>

下面的C#代码:

 SqlConnection connR;
    string connectionStringR = ConfigurationManager.ConnectionStrings[
        "BallinoraDBConnectionString1"].ConnectionString;
    connR = new SqlConnection(connectionStringR);
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Groups", connR);
    DataTable dt = new DataTable();
    sda.Fill(dt);
    rptGroupGallery.DataSource = dt;
    rptGroupGallery.DataBind();

下面是我想要的草图: sketch

组SQL:

CREATE TABLE [dbo].[Groups] (
[Group_Id]   INT             IDENTITY (1, 1) NOT NULL,
[Group_Name] NVARCHAR (50)   NULL,
[Group_Desc] NVARCHAR (1000) NULL,
PRIMARY KEY CLUSTERED ([Group_Id] ASC)

);

幻灯片SQL:

CREATE TABLE [dbo].[SlideShowTable] (
[ID]        INT           IDENTITY (1, 1) NOT NULL,
[filename]  VARCHAR (250) NULL,
[imageDesc] VARCHAR (250) NULL,
[groupNo]   INT           NULL);

另外,样本数据: smpleData

smpleData

以下是我正在使用的表格结构:

sql1

sql2

下面是我在Group表中有5行时的输出,以及Images表中的3个图像,它们都有不同的Group_ID。

screenShot 我知道SqlDataSource的Select Command是“SELECT * FROM tableName”。

要分离组,我知道我需要在此命令中添加一个参数(从Group表中传递各种ID)。

但是我不确定如何在转发器中添加它以便计算行数。

有人能告诉我怎么做吗?

0 个答案:

没有答案