2013-10-23 49 views
3

我有以下代碼:沒有一行位0誤差

Do Until i = dsSalesRep.Tables(0).Rows.Count 
       strRepID = dsSalesRep.Tables(0).Rows(i)("repID").ToString 
       strLBP = dsSalesRep.Tables(0).Rows(i)("officename").ToString 
       strLBPEmail = dsSalesRep.Tables(0).Rows(i)("cemail").ToString 
       strCCRepEmail = dsSalesRep.Tables(0).Rows(i)("cc1").ToString 
       strRepName = dsSalesRep.Tables(0).Rows(i)("firstname").ToString & " " & dsSalesRep.Tables(0).Rows(i)("lastname").ToString 
       strRepEmail = dsSalesRep.Tables(0).Rows(i)("email").ToString 
       strRepPhone = dsSalesRep.Tables(0).Rows(i)("phone").ToString 

       searchStr3 = "SELECT * FROM LookupSalesRep WHERE repID='" & strRepID & "'" 
       Dim SqlAdapter3 As New SqlDataAdapter(searchStr3, myConn2) 
       Dim dsTerritories As New DataSet 
       myConn2.Open() 
       SqlAdapter3.Fill(dsTerritories) 
       strCountry = dsTerritories.Tables(0).Rows(0)("country").ToString 
       'strCountry = dsTerritories.Tables(0).Rows.Count.ToString 

當我運行網頁,雖然,它給我的錯誤:沒有行的位置0

但是當我使用代碼

strCountry = dsTerritories.Tables(0).Rows.Count.ToString 

strCountry得到正確的行數。請幫助:(

回答

4

你是在一個循環,並在某些點上表(dsTerritories.Tables(0))爲null檢查首先,如果表是空:

If dsTerritories.Tables(0).Rows.Count > 0 Then 
    strCountry = dsTerritories.Tables(0).Rows(0)("country").ToString 
End If 
+0

感謝您的回答:)這就是訣竅!謝謝!!! – Poch