回答

收藏

SQL Reader说不存在任何值,查询似乎很好

技术问答 技术问答 328 人阅读 | 0 人回复 | 2023-09-12

我正在使用VB开发ASP.NET应用程序,并在VB中使用SQL命令和连接来获取页面数据。我将两个部分都初始化为:
7 l, Y. j  U8 O8 @travelQuery.CommandText = "SELECT [StartLoc], [EndLoc],[TravelTime], [AvgSpeed], [Distance]  FROM [TravelTimes] WHERE [TripNum] = '" + lblTrip.Text + "'"
0 w6 T: ?9 g. |" E7 N0 F% PtravelConnection.ConnectionString = "..."
9 x5 ~( [  V8 d eventQuery.CommandText = "SELECT [IncdntDate], [Roadway],..."
$ ^1 r6 r# C5 b# w3 h' v依此类推。我省略了eventQuery,因为那很好用。旅行查询和事件查询也具有相同的连接字符串。该程序将执行事件查询,然后如果返回的RdwyID值之一在一定范围内,则执行travelQuery。
6 P+ L& {$ u) q% w2 Y7 P" X, P我在代码中将RdwyID设置为187,以强制它拉出和发布行程时间,而当我尝试运行它时,它崩溃并说没有值。这是我使用的确切代码。我使用eventQuery可以正常工作的方式完全相同。我确保正确打开和关闭连接。时间被正确地声明为一个对象数组。
0 C+ \! c/ A9 ]. M我要检查查询的TripNum是数据库中具有文本数据类型的常量值。3 n6 v4 \# U2 L7 G: z- l9 p& m7 C. I
Dim rdwyID As Integer* k9 H( B: b- u8 b2 I! ]+ I5 n( U
'rdwyID = events(9) - where the value is pulled from usually'1 O' m% {; d& B7 a9 D
rdwyID = 187
2 L3 u. U" Q/ t If (rdwyID >= 186 And rdwyID 感谢您的任何帮助或建议。
2 f* b4 N. D6 x3 J+ a1 N% E  Q, c7 V编辑:进行更改,如您所说,执行读取器的if语句评估为false。我对与读者合作一无所知,什么样的条件会使它失败?谢谢一堆。# _* s) o; [8 U7 A- Q2 ?+ r  Q
编辑2:检查与条件匹配的计数返回零,并直接向上检查它,返回15。非常感谢。是时候弄清楚为什么地球上不匹配了…
# E5 Q; I* l6 N: M) D               
8 ~: k* W4 n+ c6 @. H' V. F解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则