我正在开发一个内联网Web应用程序,它是一个测验引擎。我有一个DataList,它显示了系统中可用的测验,并显示了每个测验的简短描述。现在,此DataList显示数据库中的所有测验。我想要的是以下内容:因为我有以下数据库设计:
测验表:QuizID,标题,描述,IsSent
* QuizID是该表中的主键。 IsSent是一个标志/布尔值,如果测验被发送给用户,则为真。*
我不想在数据库中显示所有可用的测验,而是让这个DataList只显示测验,当它从上次发送测验开始发送给用户时。 这与我现在使用的查询有关吗?
我的查询是:
SELECT [Title], [Description], [QuizID] FROM [Quiz]
如果是,请你帮我改一下吗?
我的ASP.NET代码:
<asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource2">
<ItemTemplate>
<asp:HyperLink
ID="HyperLink1" runat="server" NavigateUrl='<%# "StartQuiz.aspx?testid=" + Eval("QuizID") %>'
Text='<%# Eval("Title") %>'></asp:HyperLink><br />
<asp:Label
ID="DescriptionLabel" runat="server" CssClass="generaltext" Text='<%# Eval("Description") %>'></asp:Label> <br />
<br />
</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT [Title], [Description], [QuizID] FROM [Quiz]">
</asp:SqlDataSource>
答案 0 :(得分:1)
我想让这个DataList在发送时只显示测验 用户通过从上次发送测验开始
SELECT [Title],[Description],[QuizID],[IsSent] FROM [Quiz]在哪里 [IsSent] = [QuizID] DESC的1个订单
SELECT [Title],[Description],[QuizID],[IsSent],[LastUpdated] FROM [Quiz]其中 [IsSent] = [LastUpdated] DESC的1个订单