2014-10-07 160 views
0

代碼只檢查條件,它是否避免了其他條件,我在使用IsDBNull時做錯了什麼?如果「如果」條件失敗,我希望它去其他條件。使用if語句檢查IsDBNull

while (rd.Read()) 
{ 
    if (!rd.IsDBNull(0)) 
    { 
     //update table 
    } 
    else 
    { 
     //update table 
    } 
} 

誰能幫我這個感謝

回答

1

你確定你的記錄甚至有任何行嗎?如果沒有,那麼它可能看起來好像你的if失敗了,實際上,它永遠不會被調用。

您可以使用屬性HasRows進行檢查。

+0

謝謝,我用HasRows和工作。 – 2014-10-07 05:27:54

1

if語句總是去else如果條件是假的。

我看不到你的表,所以我只能推測,對於任何行讀取,第一列(通常是PK)不爲空。

請記住,一旦沒有任何要讀取的行,該循環將停止。而你正在檢查的是第一列是否爲空(如你所見,它從不是)

if語句的工作原理一直工作。

+0

當值爲null時,代碼終止於「while(rd.read())」,我該如何避免這種情況...我試圖直接使用if語句,但是表示無法嘗試讀取數據時沒有數據。 .. – 2014-10-07 05:20:31

+0

來了解代碼沒有返回值,並使用HasRows來解決它。謝謝.. – 2014-10-07 05:30:28