Содержимое набора данных неверно - PullRequest
0 голосов
/ 20 октября 2010

Я заполняю элемент управления повторителя динамически на основе значения строки запроса.В Page_Load страница выполняет функцию, которая получает информацию из базы данных и загружает ее в DataSet, а затем используется для заполнения ретранслятора.

Проблема заключается в том, что непосредственно после усечения таблицы она по-прежнему возвращаетсястрока ...

Вот мой код:

Private g As New Globals

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim CommentData As DataSet = g.GetComments(Request.QueryString("i"))
    ' Had the page tell me how many rows were in the table
    MsgBox(CommentData.Tables(0).Rows.Count.ToString)
    If CommentData.Tables(0).Rows.Count = 0 Then
        rptComments.Visible = False
    Else
        rptComments.DataSource = CommentData
        rptComments.DataBind()
    End If

' Heres g.GetComments()
Public Function GetComments(ByVal ArticleID As Integer) As DataSet
    Dim sql As String = "SELECT [CommentID], [Username] ,[Email] ,[URL] ,[CommentText] FROM Comments " & _
                        "WHERE ArticleID = " & ArticleID & " AND ApprovedYN = 'Yes' AND DeletedYN = 'No'"

    MyAdapter.SelectCommand = New SqlCommand(sql, conn)
    MyAdapter.Fill(MyData)

    Return MyData
End Function

Идея состоит в том, что функция получит все строки в таблице комментариев, связанные с ArticleID, переданные ей из QueryString, ноЯ не могу понять, почему он возвращает строку, когда ее нет в таблице.

РЕДАКТИРОВАТЬ

У меня есть другой DataSet, созданный ранее, и когда я добавляюдалее я получаю данные из 1-го набора данных:

MsgBox(CommentData.Tables(0).Rows(0)(0).ToString)

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

Есть идеи?

Заранее спасибо!

1 Ответ

0 голосов
/ 21 октября 2010

Проблема решена !!!

Создание 2-х наборов данных в одной и той же подпункте, кажется, что-то сбивает с толку на сайте ... Все, что я сделал, чтобы исправить проблему, это очистил первый набор данных после егозаполните области содержимого моей страницы, см. следующее:

If DataSet1 IsNot Nothing Then
    DataSet1.Clear()
End If

Dim DataSet2 As DataSet = g.GetComments(Request.QueryString("i"))
....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...