2014-03-24 38 views
0

如何在下面的特定时间之后返回总作业数的查询是我的sqllite表我现在正在使用Java获取当前时间如何查询哪个返回的总数在特定时间之后工作?select查询在特定时间之后返回的作业数

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()); 
+0

select count(*)或select查询会返回一个结果集,返回的行数count cud给你count –

+0

给我举例查询plz – user3416078

回答

0

假设查询你写的作品:

String selectQuery = "SELECT * FROM " + TABLE_COMPLETED_JOBS + " ORDER BY 
     "+KEY_TIMEWEEK+" ; 

在数据库处理器类,你执行数据库操作,你可以使用光标获得像计数:

db = this.getReadableDatabase(); 
Cursor c = db.rawQuery(selectQuery); 
int counter; 

if(c != null) { 
    counter = c.getCount(); 
} 

c.close(); 
return counter; 

因此:如果counter=0表示没有记录被提取,并且如果counter>0表示有记录。

希望有帮助!

0

这是查询。

SELECT COUNT(*) 
FROM jobs 
WHERE KEY_TIMEWEEK > myDate 

这里,KEY_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当前系统日期

0
int myCount = getData(); 

Handler handle = new Handler(); 

handle.postDelayed(new Runnable() 
      {  
      @Override 
      public void run() 
      {  
       "the code to be exec." 
      } 
      }, delayTimeInMilliseconds); 

     }  

public void getData(){ 

db = this.getReadableDatabase(); 
Cursor c = db.rawQuery(selectQuery); 
int counter; 

if(c != null) { 
    counter = c.getCount(); 
} 

c.close(); 
return counter; 


} 

只是在处理米利斯加入时间延迟时间你会得到所需的输出。

谢谢!

相关问题