私はSQLデータベースにクエリを実行しており、160行を要求するときにデータベースに44行しかないと、ResultSet
は160行を返します。この場合、最初の44行は実際の有用な数値を持ち、残りの116行はすべて0
の値を持ちます。 ResultSet
には、データベースクエリから返される44行のみが含まれていますか、または私に提供するにはどうすればよいですか?ここでは、コード断片である: 結果セットは160を返しますが、データベースは44行を返します。 WHY
statement = connection.createStatement();
query = "SELECT " + "Close" + ", Volume" + " FROM source_data_manager.TradingData_daily WHERE Exchange = '" + exchange +
"' and Symbol = '" + symbol + "' order by EntryID DESC limit " + 160 + ";";
//Execute the query
resultSet = statement.executeQuery(query);
//Loop through the results
int count = 0;
while (resultSet.next())
{
valuesRetrieved[count++] = resultSet.getDouble(1);
volume += resultSet.getLong(2);
}
はこのループから出てくる、カウントが
160
に等しいですが、
44
に等しくなければなりません。配列
valuesRetrieved[]
には実際に使用可能な値の44要素があり、残りの114値はすべてゼロに等しくなります(
0
)。配列は44個の値しか持たないはずです。
DBのどの王様を使用していますか? –
dbに対して直接クエリを実行し、取得する行の数を確認します。 –
'valuesRetrieved'を宣言する方法を教えてください。' double [] valuesRetrieved = new double [160] 'を使って宣言した場合、' 0'はクエリ結果から来ません。 –