/**
* checks database if a column has a value in the table
*
* @param db
* @param tableName
* @param column
* @param value
* @param rowid to check against and skip if necessary
* @return boolean
*/
public static boolean ExistsWithName(SQLiteDatabase db, String tableName, String column,
String value, Long rowid) {
String sql = String.format("select 1 from %s where %s = '%s'", tableName, column, value);
if (rowid != null) {
sql += " and _id != " + rowid;
}
Cursor c = null;
Boolean ret = false;
try {
c = db.rawQuery(sql, null);
if (c != null) {
if (c.moveToFirst()) {
ret = (c.getCount() > 0);
} else {
ret = false;
}
}
} catch (Exception e) {
Log.v(tableName, e.getMessage(), e);
e.printStackTrace();
} finally {
if (c != null)
c.close();
}
return ret;
}
1
试试这个,
public int getTableCount(String tableName) {
int totalCount= 0;
Cursor cur = mDb.rawQuery("SELECT COUNT(*) as count FROM " + tableName , null);
if (cur != null) {
cur.moveToFirst();
}
if (cur.moveToFirst()){
do{
totalCount = cur.getInt(cur.getColumnIndex("count"));
}while(cur.moveToNext());
}
cur.close();
return totalCount;
}
4 回答
如果结果为0则表为空;)
精炼的查询
另请阅读DatabaseUtils .
试试这个,
其中“mDb” - > SQLiteDatabase对象