2017-12-01 21 views
0
//creating a resultset + connecting with the connection method and typing in query 
ResultSet rowCount = MainApp.dataBaseSelect("SELECT COUNT(isFoundStatus) FROM damageclaim"); 

//creating int variable but needs a value since in later row it says ' might not be initalized ' 
int rowCountInt = 0; 

//giving the resultset to the int. 
while (rowCount.next()){ 
    rowCountInt = rowCount.getInt("isFoundStatus"); 
} 
//testing with system out 
System.out.println(rowCountInt); 

私はデータベースの行の長さを取得したいのですが、何らかの理由で動作しませんが、データベースへの他の接続は機能します。私が手SELECT COUNTクエリが機能しないのはなぜですか?

エラー:列が

+1

仕事は、問題の適切な説明を「しない」ではありません。正確に動作しないことを教えてください。質問に必要なコード(例えば、 'MainApp'クラス)をすべて含めてください。 – BackSlash

+1

rowCount.getInt(1)のようにインデックスを使っているとうまくいくと思いますか?名前でアクセスしたい場合は、おそらく "SELECT COUNT(isFoundStatus)as isFoundStatus FROM ..."のようにクエリの列に名前を付ける必要があります。 – EdmCoff

+0

'count(isFoundStatus)'は、どういうわけか、自動的にエイリアス 'isFoundStatus'を継承すると仮定します。これは大文字小文字ではありません(少なくとも現在使用しているデータベースにはありません)。 –

答えて

2

レッツ・あなたはJDBCを使用しているを推定...私は本当にそれを持っているにもかかわらず、見つかりませんでした。あなたは名前で参照できるように、列の別名

  1. :その場合は、次の2つのうちのいずれかをしたいとしている

    select count(isFoundStatus) as total from damageclaim; 
    // later on 
    rowCountInt = rowCount.getInt("total"); 
    
  2. に列インデックスを使用します代わりに、最初の値を取得する:

    select count(isFoundStatus) from damageclaim; 
    // later on 
    rowCountInt = rowCount.getInt(1); 
    
+0

2番目のオプションで解決しました。 – StanlyGoodLife

関連する問題