2 つのテーブルを持つデータベースがあります。テーブルにはいくつraw_data
かの列(緯度、経度、時間など)があり、results
テーブルには の計算結果を保存したいのraw_data
ですが、時間に基づいて計算したいのです。(=たとえば、今日の12:00から12:59までの行のみを取得し、それらを計算してresults
テーブルに保存したい)。LIKE 句を使用したかったのです。だから私はこのコードをLocations.java
(データベースで作業しているクラス)で書きました:
public Cursor getLocationsByHour(String specificHour)
{
SQLiteDatabase db = openHelper.getReadableDatabase();
return db.query(TABLE1_NAME, columns_T1, COLUMN_T1_TIMECEST_RAW + " LIKE '" + specificHour + "%'", null, null, null, null, null);}
どこ:
TABLE1_NAME is a protected static final String TABLE1_NAME = "raw_data";
columns_T1 is a public static final String[] columns_T1 = {some columns names};
COLUMN_T1_TIMECEST_RAW is a public static final String COLUMN_T1_TIME_RAW = "time";
specificHour is a i.e. 01. 06. 2013 12
getLocationsByHour()
メソッドfillResultsTable()
atから呼び出していLocations.java
ます:
public String fillResultsTable()
{
String specificHour = "01. 06. 2013 12"; //hard coded for test purposes
String message;
try {
Cursor dbLocation = getLocationsByHour(specificHour);
//HERE IS CODE WITH CALLING CALCULATIONS METHODS
message = "OK";
} catch (Exception e) {
message = e.toString();
}
return message;
}
そして atメソッドToolsActivity.java
を呼び出しています。fillResultsTable()
button1Click()
ただし、このコードはraw_data
、特定の行ではなく、 からすべての行を返します。
私は何を間違えましたか?
PS: 私の英語で申し訳ありません。