代碼只檢查條件,它是否避免了其他條件,我在使用IsDBNull時做錯了什麼?如果「如果」條件失敗,我希望它去其他條件。使用if語句檢查IsDBNull
while (rd.Read())
{
if (!rd.IsDBNull(0))
{
//update table
}
else
{
//update table
}
}
誰能幫我這個感謝
代碼只檢查條件,它是否避免了其他條件,我在使用IsDBNull時做錯了什麼?如果「如果」條件失敗,我希望它去其他條件。使用if語句檢查IsDBNull
while (rd.Read())
{
if (!rd.IsDBNull(0))
{
//update table
}
else
{
//update table
}
}
誰能幫我這個感謝
你確定你的記錄甚至有任何行嗎?如果沒有,那麼它可能看起來好像你的if
失敗了,實際上,它永遠不會被調用。
您可以使用屬性HasRows
進行檢查。
的if
語句總是去else
如果條件是假的。
我看不到你的表,所以我只能推測,對於任何行讀取,第一列(通常是PK)不爲空。
請記住,一旦沒有任何要讀取的行,該循環將停止。而你正在檢查的是第一列是否爲空(如你所見,它從不是)
if語句的工作原理一直工作。
當值爲null時,代碼終止於「while(rd.read())」,我該如何避免這種情況...我試圖直接使用if語句,但是表示無法嘗試讀取數據時沒有數據。 .. – 2014-10-07 05:20:31
來了解代碼沒有返回值,並使用HasRows來解決它。謝謝.. – 2014-10-07 05:30:28
謝謝,我用HasRows和工作。 – 2014-10-07 05:27:54