android.la base de données.sqlite.SQLiteConstraintException: erreur code 19: contrainte failedexception

J'ai créé une table nommée ressources mais quand j'ai insérer des valeurs dans, cette exception est levée:

android.database.sqlite.SQLiteConstraintException:
error code 19: constraint failedexception

Voici mon create table déclaration:

public static final String DATABASE_CREATE = 
    "CREATE TABLE " + table_resources + "(ID INTEGER PRIMARY KEY, 
    KEY_TYPE text, KEY_ENCODING text, KEY_WIDTH text, KEY_HEIGHT text, 
    KEY_DATA text, KeyIId text)";

Ce qui suit est mon insérer code:

JSONObject show = data.getJSONObject(i);
if (show.get("type").equals("resource_updates")) {
JSONArray resources = show.getJSONArray("resources");
try {
System.out.println("length of resources is is " + resources.length());
for (int resourceIndex = 0; resourceIndex < resources.length(); resourceIndex++) {
type = resources.getJSONObject(resourceIndex).getString("type").toString();
encoding = resources.getJSONObject(resourceIndex).getString("encoding").toString();
data1 = resources.getJSONObject(resourceIndex).getString("data").toString();
id = resources.getJSONObject(resourceIndex).getString("id").toString();
try {
width = resources.getJSONObject(resourceIndex).getString("width").toString();
} catch (Exception e) {
System.out.println(e);
width = "null";
}
try {
height = resources.getJSONObject(resourceIndex).getString("height").toString();
} catch (Exception e) {
e.printStackTrace();
height = "null";
}
db.insert(type,encoding,width,height, data1,iid);
}
} catch (Exception e) {
e.printStackTrace();
System.out.println(e + "exception");
System.out.println("exception in  the resources");
}
}

Quelqu'un peut me dire d'où pourrait être le problème?

Lorsque vous attendez des autres pour déboguer votre code, son meilleur si vous fournir l'ensemble de la stacktrace.
assurez-vous que votre table correctement créé?je pense,de créer de la requête est d'avoir des problème aussi. vous n'avez pas donner un blanc un espace après le nom de la table dans votre création de requête.aussi les noms de colonnes que vous utilisez pour récupérer des données à partir de la table sont différentes que vous utilisez ceux de création de requête.

OriginalL'auteur ekjyot | 2011-11-14