Android 选择返回特定时间后的作业数的查询
下面是我的sqllite表,我正在使用Java获取当前时间,现在我将如何进行查询,返回我在特定时间后的作业总数Android 选择返回特定时间后的作业数的查询,android,sqlite,Android,Sqlite,下面是我的sqllite表,我正在使用Java获取当前时间,现在我将如何进行查询,返回我在特定时间后的作业总数 private static final String TABLE_COMPLETED_JOBS = "jobs"; String CREATE_COMPLETED_TABLE = "CREATE TABLE " + TABLE_COMPLETED_JOBS + "(" + KEY_COMPID + " INTEGER PRIMARY KEY," + KE
private static final String TABLE_COMPLETED_JOBS = "jobs";
String CREATE_COMPLETED_TABLE = "CREATE TABLE " + TABLE_COMPLETED_JOBS
+ "(" + KEY_COMPID + " INTEGER PRIMARY KEY," + KEY_TIMEJOB
+ " TEXT," + KEY_PICK + " TEXT," + KEY_DEST + " TEXT,"
+ KEY_FARE + " TEXT,"
+ KEY_TIMEWEEK + " DateTime" + ")";
String selectQuery = "SELECT * FROM " + TABLE_COMPLETED_JOBS + " ORDER BY
"+KEY_TIMEWEEK+" ;
String mydate =
java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());
假设您编写的查询有效:
String selectQuery = "SELECT * FROM " + TABLE_COMPLETED_JOBS + " ORDER BY
"+KEY_TIMEWEEK+" ;
在执行数据库操作的databaseHandler类中,可以使用游标获取计数,如下所示:
db = this.getReadableDatabase();
Cursor c = db.rawQuery(selectQuery);
int counter;
if(c != null) {
counter = c.getCount();
}
c.close();
return counter;
因此:如果counter=0
,则表示没有获取记录;如果counter>0
,则表示有记录
希望有帮助 以下是查询
SELECT COUNT(*)
FROM jobs
WHERE KEY_TIMEWEEK > myDate
这里,KEY\u TIMEWEEK
应该是列的名称,myDate
应该是yyyy-MM-dd
格式的日期。您可以按如下方式设置日期格式:
SimpleDateFormat dbDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
String myDate = dbDateFormat.format(c.getTime);
这将以yyy MM dd格式返回当前系统日期
int myCount = getData();
Handler handle = new Handler();
handle.postDelayed(new Runnable()
{
@Override
public void run()
{
"the code to be exec."
}
}, delayTimeInMilliseconds);
}
只需在处理器延迟时间中添加以毫秒为单位的时间,即可获得所需的输出
谢谢 select count(*)或select query将返回一个结果集,返回的行数cud将提供count给我示例查询plz
public void getData(){
db = this.getReadableDatabase();
Cursor c = db.rawQuery(selectQuery);
int counter;
if(c != null) {
counter = c.getCount();
}
c.close();
return counter;
}