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); 
  • Uso de la memoria sqlite android
  • Android Sqlite IN, sin sintaxis
  • ¿Es posible perder una conexión de base de datos SQLite?
  • Consulta de base de datos de Android ContentProvider varias tablas
  • Cómo dividir valores separados por comas en SQLite?
  • Base de datos no visible en la carpeta DDMS cuando se utiliza el dispositivo real en lugar del emulador
  • Cómo extender la clase BaseDaoImpl de ORMLite en Android para ampliar la funcionalidad
  • Java.sql.SQLException: No se puede ejecutar insert stmt en objeto
  • Androide. Excepción de SQLite: no existe ninguna columna _id
  • Eliminar el número especificado de filas de la base de datos SQLite
  • Excepción de puntero nulo de SQLiteOpenHelper.getWriteableDatabase () en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.