返回变量Sqlite,Android,Java中的记录计数

Bri*_*ian 5 java sqlite android

我的最终目标是限制能够创建的记录,以便我可以拥有我的应用程序的试用版.我想我可以通过在sqlite count语句中返回一个int变量,并使用一个简单的IF语句来确定是否应该创建一个新记录来做到这一点.

我打电话是这样的:

int jcount = 0;
            mDbHelper.countjournals(jcount);

现在我正在尝试执行此操作

 public int countjournals(int jcount){
             mDb.execSQL(jcount + " = SELECT COUNT(*) FROM "+DATABASE_JOURNAL_TABLE);
            return jcount;
        }

我收到的错误:


08-27 22:42:32.417: ERROR/AndroidRuntime(3976): android.database.sqlite.SQLiteException: near "0": syntax error: 0 = SELECT COUNT(*) FROM journals

Bri*_*ian 14

在我看来,这两个答案似乎都应该有效,但我无法理解它们.我找到了第三个解决方案,正在形成我的工作.

  public long countjournals() {

            return DatabaseUtils.queryNumEntries(mDb,DATABASE_JOURNAL_TABLE);

        }


Aar*_*ers 6

public int countjournals() {
    SQLiteStatement dbJournalCountQuery;
    dbJournalCountQuery = mDb.compileStatement("select count(*) from" + DATABASE_JOURNAL_TABLE);
    return (int) dbJournalCountQuery.simpleQueryForLong();
}
Run Code Online (Sandbox Code Playgroud)