2010-08-23 5 views
0

J'écris une application de messagerie qui sera utilisée pour envoyer des articles de nouvelles HTML aux clients. J'utilise un ensemble de données pour renvoyer les titres à afficher au client. Lorsque je parcours l'ensemble de données, le dernier enregistrement est renvoyé mais le dernier lien de titre n'est pas affiché. Ainsi, le code HTML généré est le même titre à chaque fois, qui est le premier enregistrement de l'ensemble de données. Comment puis-je passer à l'enregistrement suivant dans l'ensemble de données et obtenir le code HTML affiché pour afficher le titre suivant/correct?Comment passer à la ligne suivante de l'ensemble de données et l'afficher en hyperlien

Voici un échantillon de mon code:

'du code pour jeu de données

Fonction publique GetHeadline (ByVal ArticleID As Integer) Comme DataSet

Try 
     Dim objConn As SqlConnection = New SqlConnection() 
     objConn.ConnectionString = myConnectionString 
     objConn.Open() 

     ds = New DataSet 
     ds.Clear() 

     Dim sqlCommand As String = "SomeSql" 

     Dim objCmd As SqlCommand = New SqlCommand(sqlCommand, objConn) 

     Dim dataAdapter As SqlDataAdapter = New SqlDataAdapter(objCmd) 
     dataAdapter.Fill(ds)  

     Catch ex As Exception 
     MsgBox(ex.ToString) 
     GetHeadline = Nothing 
    End Try 

    Return ds 

End Function 

' Code pour remplir lien

If GroupID = 4 Then 
iLocation1 = HTMLbody.IndexOf("{!HeadlineID") 

While iLocation1 > 0 
iLocation2 = HTMLbody.IndexOf("}", iLocation1) 
sHeadLineTag = HTMLbody.Substring(iLocation1 + 1, iLocation2 - iLocation1 - 1) 
dtReport = clsGlobal.globalReportCatalog.GetHeadline2() 
clsGlobal.globalReportCatalog.SetHeadlinePropertiesFromRow(dtReport.Rows(0)) 

With clsGlobal.globalReportCatalog 
    For i As Integer = 0 To dtReport.Rows.Count 
    If i < dtReport.Rows.Count - 1 Then 
    i = i + 1 
    End If 

    Dim ID As Integer = dtReport.Rows(i)("ArticleID") 

    sHyperTag = "<a href=""" & "http://www.myweb.com/somedirectory/Login.aspx" & .HeadlineMarketingLink & """>" & .HeadlineReportName & " - " & .HeadlineTitle & "</a>" 
    sHeadlineDescription = .HeadlineDescription 

    HTMLbody = HTMLbody.Replace("{!Report.Description}", sHeadlineDescription) 

    Next 
End With 

Répondre

0

Je ne vois pas pourquoi vous avez besoin

For i As Integer = 0 To dtReport.Rows.Count 
    If i < dtReport.Rows.Count - 1 Then 
    i = i + 1 
    End If 

Tu ne peux pas utiliser

Dim ID As Integer = dtReport.Rows(dtReport.Rows.Count - 1)("ArticleID") 

ou y avait-il censé être une MoveNext de ligne dans la boucle que vous avez oublié?

Questions connexes