Как сделать так, чтобы в этом списке данных отображались тесты, отправленные пользователям? - PullRequest
0 голосов
/ 11 марта 2012

Я занимаюсь разработкой веб-приложения для интрасети, которое представляет собой Quiz Engine. У меня есть DataList, который показывает доступные тесты в системе с кратким описанием каждого из них. Теперь этот DataList показывает все тесты в базе данных. То, что я хочу, это следующее: так как у меня есть следующий дизайн базы данных:

Таблица теста: QuizID, заголовок, описание, IsSent

* QuizID - это первичный ключ в этой таблице. IsSent является флагом / логическим значением, которое будет иметь значение true, если опрос был отправлен пользователям. *

Вместо того, чтобы показывать все доступные тесты в базе данных, я хочу, чтобы этот 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 />
                                    &nbsp;<asp:Label
                                        ID="DescriptionLabel" runat="server" CssClass="generaltext" Text='<%# Eval("Description") %>'></asp:Label>&nbsp;<br />
                                    <br />
                                </ItemTemplate>
                            </asp:DataList>
                <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
                                SelectCommand="SELECT [Title], [Description], [QuizID] FROM [Quiz]">
                </asp:SqlDataSource>

1 Ответ

1 голос
/ 11 марта 2012

Я хочу, чтобы этот DataList отображал только тест, когда он отправляется пользователям , начиная с последней отправки теста

  • Зависит откак вы отслеживаете «последний отправляющий тест» в вашей таблице базы данных
  • Вы можете проверить последний отправленный тест, упорядоченный по идентификатору в порядке убывания

SELECT [Заголовок],[Description], [QuizID], [IsSent] FROM [Quiz], где [IsSent] = 1 порядок по [QuizID] DESC

  • Вы также можете отслеживать свои последние отправленные тесты, вводяВ новой колонке укажите «LastModified» в своей таблице и сохраните там отметку времени даты, чтобы вы могли отслеживать, какой опрос был последний раз отправлен из запроса

SELECT [Заголовок], [Описание], [QuizID], [IsSent], [LastUpdated] FROM [Викторина], где [IsSent] = 1 порядок по [LastUpdated] DESC

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...