2013-11-02 63 views
0

我想從一個DataReader的值值,但也有被稱爲錯誤如何從DataReader的

"No data exists for the row/column". 

這是我的代碼

//select the group where status is active 
OleDbCommand com2 = new OleDbCommand("select group from tblBillConfig where status=1 group by group",con); 
OleDbDataReader dr2 = com2.ExecuteReader(); 

//int i = Convert.ToInt32(dr2); 
string ii = dr2["group"].ToString(); 
MessageBox.Show(ii); 

請任何人都可以幫忙嗎?

+0

你正在使用什麼樣的數據庫? – Steve

回答

0

如果您的查詢沒有返回任何記錄,那麼您會收到該消息。
你需要檢查是否有行返回,然後嘗試讀取它們....

順便說一下,我很確定單詞GROUP是一個保留關鍵字每個SQL數據庫系統。要使用它,你應該把它放在方形的容器中(但是對於每個數據庫系統它可能不同)

OleDbCommand com2 = new OleDbCommand("select [group] from tblBillConfig " + 
            "where status=1 group by [group]",con); 
OleDbDataReader dr2 = com2.ExecuteReader(); 

// This will load the first row, so you could get its value 
if(dr2.Read()) 
{ 
    string ii = dr2["group"].ToString(); 
    MessageBox.Show(ii); 
} 
else 
{ 
    MessageBox.Show("Query doesn't return any rows"); 
} 
+0

由於您是本網站的新用戶,因此我提醒您,如果您發現收到的回覆有用,則應標記正確的回覆。 [見這裏常見問題](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)。 – Steve