2011-12-24 11 views
5

私が実行している正確なSQLクエリのデータがあることはわかっていますが、データベース上で直接SQLクエリを実行しているため、私は絶えずデータが存在しないという例外を受け取ります。私のコードは以下の通りです:エラー:OdbcDataReaderを使用している「行/列にデータがありません」

 try 
     { 
      dbConnection.Open(); 

      // Process data here. 
      OdbcCommand dbCommand = dbConnection.CreateCommand(); 
      dbCommand.CommandText = "select forename from tblperson where personcode in (select clientcode from tblclient) and surname = '######'"; 
      OdbcDataReader dbReader = dbCommand.ExecuteReader(); 

      Console.WriteLine(dbReader.GetString(0)); 

      dbReader.Close(); 
      dbCommand.Dispose(); 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
     } 
     finally 
     { 
      dbConnection.Close(); 
     } 

私はこのことが起こっている理由を教えてください。クエリは単一の結果を返さなければなりません。私は現在、これが動作していることを確認するためにこれを行うだけです。どんな助けでも大歓迎です。

答えて

6

ExecuteReaderが呼び出された後、最初に返されたレコードのの前に、リーダーはに配置されます。

while (dbReader.Read()) 
+0

のTy:最初のレコードを読み取るには、あなたは複数の行がある場合にRead()

dbReader.Read() 

やコースのを呼び出す必要があります。それはとても便利で働きました。 – Dazzmaster1

+0

@ Dazzmaster1 - 偉大な - あなたは歓迎と幸運です! –

+0

このような単純な問題は、このような役に立たないエラーメッセージです。 –

関連する問題