2011-09-01 3 views
1

Je pense que je comprends ce à quoi cette erreur fait référence. Fondamentalement, si je comprends bien, le curseur est vide. Ce qui signifie que la requête ne trouve aucune ligne correspondant à son instruction where.Android Java Sqlite Exception index 0 demandé avec la taille de 0

La requête est essentiellement

SELECT * FROM questions Où _id = 2

Maintenant, la chose que je ne comprends pas que si je l'utilisateur une base de données avec 7 enregistrements, il est bien alors quand je le change à un avec 100 il exécute cette exception. La chose étrange est que d'autres parties de l'application, je publie tout le contenu des bases de données se référant à des colonnes spécifiques.

Toutes les colonnes dans les deux DB sont appelées les mêmes et quand tout sortir d'un tableau, vous pouvez vous référer à tout. Le problème semble être lorsque vous interrogez la grande base de données spécifiquement à la recherche d'une ligne. Il retourne vide.

Y a-t-il quelque chose qui ferait cela, comme des caractères spéciaux ou toute autre chose que j'ai regardée?

+0

Est-ce que la plus grande db a une ligne avec id = 2? – Jack

+0

yep il y en a sûrement un avec cet id. Il y a une liste qui les répertorie tous et quand vous cliquez dessus, ils devraient s'afficher. Il y a aussi une vue séquentielle et ça ne marche pas. Ainsi, les pages qui n'utilisent pas une clause WHERE sont correctes, mais celles qui ont une clause WHERE ne le sont pas. – Somk

Répondre

1

Plus de code serait utile. La chose évidente à faire est de vérifier que votre base de données volumineuse a le nom de fichier, le nom de table et la colonne _id corrects et qu'il existe une ligne avec _id = 2. Une autre chose que je voudrais essayer (probablement pas le problème) est de mettre des guillemets autour du 2 - WHERE _id = '2'.

+0

Aucune idée de la raison pour laquelle cela a fonctionné jusqu'à présent, mais votre suggestion d'ajouter les guillemets simples a fait l'affaire. Je vous remercie. Très appréciée. – Somk

+0

Vous pariez, heureux de pouvoir aider :) –

0

J'ai rencontré ce problème dans mon application. Pour moi, c'était parce que mes curseurs dépassaient la limite de mémoire de l'objet VM de 1mb. Cela pourrait être votre problème.

Récupérez-vous des blobs?

+0

Merci pour le conseil. Je ne récupère aucun blobs. Je récupère toute la base de données dans d'autres parties de l'application et ils fonctionnent bien. impair! – Somk

Questions connexes