回答

收藏

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

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

我正在使用VB开发ASP.NET应用程序,并在VB中使用SQL命令和连接来获取页面数据。我将两个部分都初始化为:! y9 ~6 p  S+ Y/ J/ {
travelQuery.CommandText = "SELECT [StartLoc], [EndLoc],[TravelTime], [AvgSpeed], [Distance]  FROM [TravelTimes] WHERE [TripNum] = '" + lblTrip.Text + "'"
. E1 I5 P4 j) d: etravelConnection.ConnectionString = "..."
3 [4 p$ _+ f+ p, e8 _: f& a eventQuery.CommandText = "SELECT [IncdntDate], [Roadway],...": F% c; a# L) m5 f& _1 M  x. ~0 _
依此类推。我省略了eventQuery,因为那很好用。旅行查询和事件查询也具有相同的连接字符串。该程序将执行事件查询,然后如果返回的RdwyID值之一在一定范围内,则执行travelQuery。/ h9 P. v# Z% j" q+ u% {
我在代码中将RdwyID设置为187,以强制它拉出和发布行程时间,而当我尝试运行它时,它崩溃并说没有值。这是我使用的确切代码。我使用eventQuery可以正常工作的方式完全相同。我确保正确打开和关闭连接。时间被正确地声明为一个对象数组。
9 }# Z* `/ I/ M) h" G& @$ c8 r我要检查查询的TripNum是数据库中具有文本数据类型的常量值。# S9 o7 E' O& g! D4 V! b6 z, w
Dim rdwyID As Integer! y/ g. o. v) X* e& B5 H; \+ y1 T1 w
'rdwyID = events(9) - where the value is pulled from usually'
5 d3 N  B, Y1 F2 l; W8 E1 ZrdwyID = 1878 T/ V6 I6 _4 o% V) m
If (rdwyID >= 186 And rdwyID 感谢您的任何帮助或建议。
% ]# F5 q1 d$ H编辑:进行更改,如您所说,执行读取器的if语句评估为false。我对与读者合作一无所知,什么样的条件会使它失败?谢谢一堆。
- r: Q! ]! J& m& }4 D) d' J编辑2:检查与条件匹配的计数返回零,并直接向上检查它,返回15。非常感谢。是时候弄清楚为什么地球上不匹配了…: X6 z- m/ p1 A5 x5 N  S* U
                * X7 ?4 l5 V. Q* q( r
解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则