Devuelve el recuento de registros en una variable, Sqlite, Android, Java

Mi objetivo final es limitar los registros que se pueden crear para que pueda tener una versión de prueba de mi aplicación. Estoy pensando que puedo hacer esto más bien simplemente devolviendo una variable int dentro de una instrucción sqlite count y usando una instrucción IF simple para determinar si se debe crear un nuevo registro.

Yo llamo así:

 Int jcount = 0;
             MDbHelper.countjournals (jcount);

Ahora mismo estoy intentando ejecutar esto

  Public int countjournals (int jcount) {
              MDb.execSQL (jcount + "= SELECT COUNT (*) FROM" + DATABASE_JOURNAL_TABLE);
             Return jcount;
         }

Error que recibo:


 08-27 22: 42: 32.417: ERROR / AndroidRuntime (3976): android.database.sqlite.SQLiteException: cerca de "0": error de sintaxis: 0 = SELECT COUNT (*) FROM revistas

Ambas respuestas me parecieron que deberían funcionar, pero no pude conseguirlas. He encontrado una tercera solución que está funcionando de mí.

   Largas jornadas públicas () {

             Return DatabaseUtils.queryNumEntries (mDb, DATABASE_JOURNAL_TABLE);

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

Su consulta es incorrecta, mejor manera de hacer lo que necesita es:

  public int countjournals() { Cursor dataCount = mDb.rawQuery("select count(*) from" + DATABASE_JOURNAL_TABLE, null); dataCount.moveToFirst(); int jcount = dataCount.getInt(0); dataCount.close(); return jcount; } 

Nota de lado: También tenga en cuenta que no puede utilizar variables primitivas como referencias (y de su código parece que está tratando de hacerlo), también no puede pasar en las referencias a consultas SQLite. En su lugar sólo necesita asignar un resultado de método (consulta) a su variable.

Sólo tienes que insertar un ESPACIO después from que empiece a funcionar …..

 Cursor dataCount = mDb.rawQuery("select count(*) from " + DATABASE_JOURNAL_TABLE, null); 
  • Falta de tabla en SQLite con la versión específica de HTC DESIRE HD
  • ¿Puede un proyecto de biblioteca de Android tener su propia base de datos SQLite?
  • ¿Estoy bebiendo la plataforma / hardware?
  • Operador '! =' No se puede aplicar a los operandos de tipo 'Tarea' e 'int'
  • ¿Cómo puedo obtener información sobre la columna causó restricción de clave externa en android sqlite?
  • Inserción SQLite de Android única
  • ¿El uso del texto como clave principal en la tabla SQLite es incorrecto?
  • SQLite en Android Cómo actualizar una fila específica
  • Simple exportación e importación de una base de datos SQLite en Android
  • Cómo ejecutar una consulta con regexp en Android
  • Cursor crashing: Índice 0 solicitado, con un tamaño de 0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.