我正在用VB開發一個ASP.NET應用程序,並使用VB中的SQL命令和連接來獲取頁面的數據。我有兩個部分初始化爲:SQL讀者說沒有值存在,查詢似乎很好
travelQuery.CommandText = "SELECT [StartLoc], [EndLoc],[TravelTime], [AvgSpeed], [Distance] FROM [TravelTimes] WHERE [TripNum] = '" + lblTrip.Text + "'"
travelConnection.ConnectionString = "..."
eventQuery.CommandText = "SELECT [IncdntDate], [Roadway],..."
等等。我遺漏了eventQuery,因爲那個工作正常。旅行查詢和事件查詢也具有相同的連接字符串。該程序已執行事件查詢,然後如果其中一個值RdwyID返回符合一定範圍,則會執行travelQuery。
我在代碼中設置RdwyID爲187,強制它拉和發佈旅行時間,當我嘗試運行它時,它崩潰,說沒有值。這是我使用的確切代碼。我使用與eventQuery完全相同的方式執行其中的工作。我確保正確打開和關閉連接。時間正確地聲明爲一個對象數組。
TripNum我正在檢查查詢是數據庫中的一個常數值與數據類型的文本。
Dim rdwyID As Integer
'rdwyID = events(9) - where the value is pulled from usually'
rdwyID = 187
If (rdwyID >= 186 And rdwyID <= 225)
FillWithTime("2", travelReader, time, newCell)
Private Sub FillWithTime(ByVal TripNum As String, ByRef travelReader As SqlDataReader, ByRef TimeData() As Object, ByRef Cell As System.Web.UI.WebControls.TableCell)
lblTrip.Text = TripNum
travelReader = travelQuery.ExecuteReader()
travelReader.Read()
travelReader.GetValues(TimeData)
Cell.Text += "From: " + TimeData(0).ToString().Substring(9) + "<br />"
Cell.Text += "To: " + TimeData(1).ToString().Substring(9) + "<br />"
Cell.Text += "Travel Time: " + TimeData(2).ToString() + " minutes <br />"
Cell.Text += "Average Speed: " + TimeData(3).ToString() + " MPH <br />"
Cell.Text += "Distance: " + TimeData(4).ToString() + " miles <br />"
End Sub
感謝您的任何幫助或建議。
編輯:像你說的那樣進行了更改,並且執行讀者的if語句評估爲false。我對讀者的工作一無所知,什麼樣的條件會使它失敗?謝謝一堆。
編輯2:檢查計數匹配條件返回零,並檢查它直線返回15.非常感謝。時間弄清楚爲什麼地球上它不匹配......