Я заполняю элемент управления повторителя динамически на основе значения строки запроса.В 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)
Я получаю заголовок статьи, который, как вы можете видеть из моего кода выше, не должен находиться в этом наборе данных ...
Есть идеи?
Заранее спасибо!