samedi 16 janvier 2016

Table [table] has no column [column] in SQLite Android

I'm trying to insert and recover data from a table in SQLite in Android. But, I'm getting this error:

android.database.sqlite.SQLiteException: table produto has no column named cor (code 1): , while compiling: INSERT INTO produto(cor,tamanho,idproduto,material,descricao,valor,classificacao) VALUES (?,?,?,?,?,?,?)

Here is my "Produto" basecolumn:

public static abstract class ProdutosDAO implements BaseColumns {
    public final static String TABLE_NAME = "produto";
    public final static String COLUMN_NAME_ID_PRODUTO = "idproduto";
    public final static String COLUMN_NAME_DESCRICAO = "descricao";
    public final static String COLUMN_NAME_VALOR = "valor";
    public final static String COLUMN_NAME_CLASSIFICACAO = "classificacao";
    public final static String COLUMN_NAME_MATERIAL = "material";
    public final static String COLUMN_NAME_TAMANHO = "tamanho";
    public final static String COLUMN_NAME_COR = "cor";


    public final static String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS "+ ProdutosDAO.TABLE_NAME + " (" +
            ProdutosDAO._ID + PRIMARY_KEY +
            ProdutosDAO.COLUMN_NAME_ID_PRODUTO + INTEGER_TYPE + UNIQUE_INDEX + COMMA_SEP +
            ProdutosDAO.COLUMN_NAME_DESCRICAO + VARCHAR_TYPE + "150)"+ COMMA_SEP +
            ProdutosDAO.COLUMN_NAME_VALOR + DOUBLE_TYPE + COMMA_SEP +
            ProdutosDAO.COLUMN_NAME_CLASSIFICACAO + INTEGER_TYPE  + COMMA_SEP +
            ProdutosDAO.COLUMN_NAME_MATERIAL + INTEGER_TYPE +  COMMA_SEP +
            ProdutosDAO.COLUMN_NAME_TAMANHO + INTEGER_TYPE  + COMMA_SEP +
            ProdutosDAO.COLUMN_NAME_COR + INTEGER_TYPE + ");";

    public final static String DROP_TABLE = "DROP TABLE IF EXISTS " + ProdutosDAO.TABLE_NAME;

    public final static String[] ALL_COLUMNS = {ProdutosDAO._ID,
        COLUMN_NAME_ID_PRODUTO,
        COLUMN_NAME_DESCRICAO,
        COLUMN_NAME_VALOR,
        COLUMN_NAME_CLASSIFICACAO,
        COLUMN_NAME_MATERIAL,
        COLUMN_NAME_TAMANHO,
        COLUMN_NAME_COR
    };

}

I have some static variables to types too:

// Types definition
public final static String VARCHAR_TYPE = " VARCHAR(";
public final static String INTEGER_TYPE = " INTEGER";
public final static String DOUBLE_TYPE = " DOUBLE";

To to create this table I'm just using:

db.execSQL(SisLojaBanco.ProdutosDAO.CREATE_TABLE);

Well, I'm completly lost, and don't know whats happening.

Can someone help me please?

Thanks a lot,

Mathias

Aucun commentaire:

Enregistrer un commentaire