我有一个包含 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()
: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;
}
在ToolsActivity.java
我打电话给fillResultsTable()
方法button1Click()
。
但是此代码从 中返回所有行raw_data
,而不是特定行。
我做错了什么?
PS:对不起我的英语。