2014-03-04 22 views
0

我使用SQL SELECT字符串在行狀態爲特定值時返回數據庫中的所有值。然後我將這些信息存儲到標籤中。我的問題是,當我選擇所有沒有「WHERE status = 2」的部分時,一切都很好,但是當我嘗試指定我的標籤只包含單個值而不是列表時。將返回的數據從SQL存儲到Asp中:標籤

SQL = "SELECT * FROM HonApp.dbo.apps WHERE status=2"; 

..create sql data reader here.. 

myReader.Read(); 
if (myReader.HasRows) 
    { 
    while (myReader.Read()) 
    { 
    emailList.Text += myReader[5].ToString() + ", "; 
    } 
} 

我認爲發生的事情是,不是迭代和追加每封電子郵件,它只是每次覆蓋標籤。任何想法,我可能是錯的?

注意:它在沒有「WHERE狀態」部分的情況下工作,但它返回數據庫中的所有值;我只想要狀態爲2的電子郵件。

回答

1

您在while循環之前呼叫myReader.Read(),這將跳過您的第一條記錄。因此,如果有一條記錄與給定的ID,那麼您基本上忽略它,這就是爲什麼您沒有看到標籤中的任何內容。您應該刪除該行。您的while循環沒問題,因爲您使用的是不會覆蓋您的值的+=。如果存在具有給定標識的一個或多個記錄(本例中爲2)它應該正常工作。

+0

感謝這工作,我想你不得不打電話.Read()之前,你可以做.HasRows – Jobokai

+0

@Jobokai沒有這不是必要的:) –

相關問題