代码只检查是否有条件,它避免了其他条件,我在使用IsDBNull时做错了什么?如果"如果"条件失败,我希望它去其他条件。
while (rd.Read())
{
if (!rd.IsDBNull(0))
{
//update table
}
else
{
//update table
}
}
任何人都可以帮助我,谢谢
答案 0 :(得分:1)
如果条件为false,if
语句将始终转到else
。
我看不到你的表,所以我只能推测,对于永远的行读取,第一列(通常是PK)不是空的。
请记住,一旦不再有任何行要读取,该循环将停止。你要检查的是第一列是否为空(正如你所看到的,它永远不会是)
if语句有效且一直有效。
答案 1 :(得分:1)
你确定你的记录有任何行吗?如果没有,它可能看起来好像你的if
失败了,而实际上它永远不会被调用。
您可以使用属性HasRows
进行检查。