【发布时间】:2010-02-09 10:25:36
【问题描述】:
我正在处理的一些表具有空值并且正在抛出错误。到目前为止,我尝试了一些解决方案来处理空值,但均未成功。
以下是我目前努力的代码示例;
If (r("datemodified").Equals(DBNull.Value)) Then
datemodified = String.Empty
Else
datemodified = (r("datemodified"))
End If
和;
If r.HasRows Then
datemodified = (r("datemodified"))
Else
datemodified = String.Empty
End If
和;
If r("datemodified") = Nothing Then
datemodified = String.Empty
Else
datemodified = (r("datemodified"))
End If
和;
If r.IsDBNull("datemodified") Then
datemodified = String.Empty
Else
datemodified = (r("datemodified"))
通过 sql;
Select isnull(datemodified, '')
最终结果是 IndexOutOfRangeException。
这里是sql;
select datemodified, maintainedby, email, hitcount from grouping where id = @footid
ps,我已经运行了查询,它工作正常(即所有列都存在)
【问题讨论】:
-
datemodified (如果我注释掉那一行,那么它会立即在下一行抛出另一个由维护者维护的) 空值的原因是当人们更新页面时,他们并不总是填写详细信息。就我个人而言,我不允许空值,但数据库是遗留的。
-
您可以将您正在使用的 SQL 添加到您的问题中吗?
-
我询问了您的 SQL,因为 Kosala 指出,如果您不对列设置别名,则会收到 IndexOutOfRange 异常。
标签: asp.net vb.net syntax null sqldatareader