2015-05-24 40 views
1

我讓我的C#Windows窗體應用程序下面的錯誤應用與[]索引到類型的表達式「...」:不能與OleDbDataReader

不能申請用[]一個索引「ChequeRegistry.oledbDataReader」

錯誤類型的表達是在與使用dr數據讀取器的if條件的行。

如何正確訪問行中的第一列?

while (dr.Read()) 
{ 
    if (dr[0].ToString() == txtPassword.Text) 
    { 
     Main mainform = new Main(); 
     mainform.Show(); 
     this.Hide(); 
    } 
    else 
    { 
     // ... 
    } 
} 
+2

無關,但你比較明文密碼(因此明文通過線路傳輸的話)的事實意味着你做了錯誤的方式! –

+0

那麼,它說你不能這樣做:dr [0]所以你可能只需要使用dr或者可能dr.something – Andrew

+1

編號DataReader只指向數據庫中的當前記錄,它是一個枚舉器。改用DataAdapter。 – jdweng

回答

1

看起來您使用的是自定義的OleDbDataReader不支持Item[])。

嘗試使用到GetString方法代替:

if (dr.GetString(0) == txtPassword.Text)