Je développe une application ASP.NET avec VB et utilise SQL Command and Connection dans VB pour saisir les données de la page. J'ai les deux parties initialisées en tant que telles:SQL Reader indiquant qu'aucune valeur n'existe, la requête semble correcte
travelQuery.CommandText = "SELECT [StartLoc], [EndLoc],[TravelTime], [AvgSpeed], [Distance] FROM [TravelTimes] WHERE [TripNum] = '" + lblTrip.Text + "'"
travelConnection.ConnectionString = "..."
eventQuery.CommandText = "SELECT [IncdntDate], [Roadway],..."
Et ainsi de suite, comme ça. J'ai omis le eventQuery, parce que celui-ci fonctionne bien. La requête de voyage et la requête d'événement ont également la même chaîne de connexion. Le programme a l'exécution de la requête d'événement et si l'une des valeurs, RdwyID retourné s'inscrit dans une certaine plage, travelQuery s'exécute.
J'ai défini RdwyID à 187 dans le code pour le forcer à tirer et afficher les temps de déplacement, et quand j'essaye de le faire, il se bloque en disant qu'il n'y a pas de valeurs. Voici le code exact que j'utilise. Je fais les choses exactement de la même manière avec eventQuery où cela fonctionne bien. Je m'assure d'ouvrir et de fermer correctement la connexion. Le temps est correctement déclaré comme un tableau d'objets. Le TripNum Je vérifie la requête est une valeur constante dans la base de données avec un type de données de texte.
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
Merci pour toute aide ou suggestion dont vous avez besoin. Editer: Apportez les modifications comme vous l'avez dit, et l'instruction if pour le lecteur d'exécution est évaluée à false. Je ne sais rien de travailler avec le lecteur, quelles sortes de conditions le feraient échouer? Merci beaucoup.
Édition 2: Vérification du nombre de correspondance pour la condition retourné zéro, et la vérification tout droit retourné 15. Merci beaucoup. Il est temps de comprendre pourquoi sur Terre il est ... ne correspond pas à