私は英国の大学に関する情報を含むSQLiteデータベースから読み込みを試みています。すべての列の値として1つの列の値を返すSQLite Cursor
次の表の列があります。私は、CSVファイルからテーブルを埋め、その後、各列に情報を返しますgetUni()
メソッドを呼び出し、そしてそれらを使用することを試みてきた
Institution
Rank_2017
Guardian_score100
Satisfied_with_course
Satisfied_with_teaching
Satisfied_with_feedback
Student_to_staff_ratio
Average_entry_tariff
Career_after_6_months
をUniversity
オブジェクトを作成するには、University
の各メンバー変数の値をチェックすると、名前とランクが適切に設定されていますが、その後のすべての変数もRank_2017
の値に設定されています。
はgetUni()メソッド
public University getUni(String id)
{
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_UNIVERSITIES, COLUMNS, " Institution = ?",
new String[] { id }, null, null, null, null);
if(cursor != null){
cursor.moveToFirst();
}
System.out.println("@@@" + cursor.getCount() + "@@@");
University uni = new University();
if(cursor != null){
uni.setUni_name(cursor.getString(0));
uni.setRank(cursor.getString(1));
uni.setGuardianScore(cursor.getString(2));
uni.setCourseSatisfaction(cursor.getString(3));
uni.setTeachingSatisfaction(cursor.getString(4));
uni.setFeedbackSatisfaction(cursor.getString(5));
uni.setStudentStaffRatio(cursor.getString(6));
uni.setAverageEntryTariff(cursor.getString(7));
uni.setCareerAfterSixMonths(cursor.getString(8));
}
// return University
return uni;
}
私は予想通り、それは10個の列を返すことがわかりますcursor.getColumnCount()
を呼び出した後、しかし、何かがかなり右ではありません。
例えば、私はUniversity uni = getUni("Glasgow");
を呼び出す場合、しかし同じようrank_2017
後の各メンバ変数を割り当て、正しく両方University
name
、及びrank_2017
を割り当てます。
CSV行例:
Glasgow,26,70.8,89.3,91.6,67.3,14.5,478.4,78.5
この問題を解決するすべてのヘルプは非常にいただければ幸いです。