pagina - sqlite3 doc
Sqlite pendingOperation in Statement prepare (1)
Mi código es:
Statement mstatement = null;
URI uri = URI.create(DBPath);
sqliteDb = DatabaseFactory.openOrCreate(uri);
mStatement = sqliteDb.createStatement(strQuery);
mStatement.prepare();
Mi problema es que recibo un error como "Sqlite pendingOperation" en mstatement.prepare () ;. Estoy usando bloques sincronizados en todos y cada uno de los métodos de manejo de bases de datos. Esto está sucediendo mientras se están ejecutando múltiples hilos.
Obtuve mi respuesta yo solo.
Modifiqué todo el método como (en negrita):
Cursor c = null;
DBHelper.mStatement = null;
Vector followups = new Vector();
**boolean runFlag = true;**
synchronized (GlobalVariables.lockObject) {
try {
**while(runFlag)**
SELECT EventId,OldTitle,OrderNumber,Status,Title,Type,UpdateDateTime,Id FROM Questions WHERE EventId=5 AND Type=1 AND (Status=0 OR Status=1 OR Status=2) ORDER BY OrderNumber
DBHelper.CreateAndOpenSqliteDBConnection();
DBHelper.mStatement = DBHelper.sqliteDb.createStatement(strQuery);
DBHelper.mStatement.prepare();
**if(DBHelper.mStatement == null)
{
DBHelper.CloseSqliteDBConnection();
runFlag = true;
continue;
}
else
{
runFlag = false;
}**
c = DBHelper.mStatement.getCursor();
while (c.next()) {
followups.addElement(Followup.getFromCursor(c));
}
}
**}**
catch (Exception ex) {
System.out.print(ERRORSTRING + "getUploadFollowupsFromDB: "
+ ex);
} finally {
DBHelper.CloseSqliteDBConnection();
}
GlobalVariables.lockObject.notifyAll();
}
return followups;
Gran Ankit Rox ..