【发布时间】:2025-11-17 06:40:02
【问题描述】:
我遇到了一个“IndexOutOfRangeException”问题。我认为这是因为当代码尝试从数据库中获取 DateModified col 时,它有时会包含 NULLS(用户自创建页面以来并不总是更新页面)。
这是我的代码;
s = ("select datemodified, maintainedby, email, hitcount from updates where id = @footid")
Dim x As New SqlCommand(s, c)
x.Parameters.Add("@footid", SqlDbType.Int)
x.Parameters("@footid").Value = footid
c.Open()
Dim r As SqlDataReader = x.ExecuteReader
While r.Read
If r.HasRows Then
datemodified = (r("DateModified"))
maintainedby = (r("maintainedby"))
email = (r("email"))
hitcount = (r("hitcount"))
End If
End While
c.Close()
我认为(经过一些 msdn)添加;
If r.HasRows Then
End If
会解决问题,但到目前为止,添加后我仍然得到相同的旧 IndexOutOfRangeException
(ps,我已经尝试将日期修改为字符串/日期时间)
【问题讨论】:
-
如何检查列是否为空?
-
我试过了; If r.Item("DateModified") IsNot DBNull.Value Then datemodified = (r("DateModified")) Else datemodified = String.Empty End If(但似乎没有用)
标签: asp.net sql vb.net ado.net