开发者

check whether the data is already exist in table, or to check table is empty

friends,开发者_JAVA技巧 I need help in sqlite query for check whether the data is already exist in table, or to check table is empty or not,let's give queries for it.

Thanks in advance.


REFINED QUERY

SELECT COUNT(*) FROM TABLE WHERE ROWNUM=1


SELECT COUNT(*) FROM `tableName`;

if the result is 0 the table is empty ;)


Also please kindly read about DatabaseUtils.

/**
 * 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;
}


Try this,

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;
}

where "mDb" --> SQLiteDatabase object

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜