Falha ao criar banco - RESOLVIDO

Estou com um problema para inserir valores padrão ao meu banco de dados.
Segue o codigo e abaixo explico meu problema.

 @Override
    public void onCreate(SQLiteDatabase db) {
       Log.w(this.getClass().getName(), "Criando tabela receitas!!!");
       db.execSQL("CREATE TABLE IF NOT EXISTS receitas " + 
        "(id INTEGER PRIMARY KEY AUTOINCREMENT, tipo INTEGER, descr TEXT, value REAL, data DATE)");
       Log.w(this.getClass().getName(), "Criando tabela despesas!!!");
       db.execSQL("CREATE TABLE IF NOT EXISTS despesas " + 
        "(id INTEGER PRIMARY KEY AUTOINCREMENT, tipo INTEGER, descr TEXT, value REAL, data DATE)");
       
       Log.w(this.getClass().getName(), "Criando tabela tipos_receitas!!!");
       db.execSQL("CREATE TABLE IF NOT EXISTS tipos_receitas " + 
    	        "(tipo INTEGER PRIMARY KEY AUTOINCREMENT, descr TEXT)");
       Log.w(this.getClass().getName(), "Criando tabela tipos_despesas!!!");
       db.execSQL("CREATE TABLE IF NOT EXISTS tipos_despesas " + 
   	        "(tipo INTEGER PRIMARY KEY AUTOINCREMENT, descr TEXT)");
       
       Log.w(this.getClass().getName(), "Inserindo dados tipos_despesas!!!");
       db.execSQL("insert into tipos_despesas values (0, 'Alimentação');");
       db.execSQL("insert into tipos_despesas values (1, 'Carro');");
       db.execSQL("insert into tipos_despesas values (2, 'Casa');");
       db.execSQL("insert into tipos_despesas values (3, 'Eletrônicos');");
       db.execSQL("insert into tipos_despesas values (7, 'Lazer');");
       db.execSQL("insert into tipos_despesas values (4, 'Roupas');");
       db.execSQL("insert into tipos_despesas values (5, 'Transporte');");
       db.execSQL("insert into tipos_despesas values (6, 'Outros');");
       
       Log.w(this.getClass().getName(), "Inserindo dados tipos_receitas!!!");
       db.execSQL("insert into tipos_receitas values (0, 'Salário');");
       db.execSQL("insert into tipos_receitas values (1, 'VR');");
       db.execSQL("insert into tipos_receitas values (2, 'VT');");
       db.execSQL("insert into tipos_receitas values (3, 'Hora Extra');");
       db.execSQL("insert into tipos_receitas values (4, 'Vendas');");
       db.execSQL("insert into tipos_receitas values (5, 'Outros');");
    }

As tabelas são criadas sem problemas, porem na hora de inserir os valores, apenas o primeiro “Alimentação” é inserido. Não aparece nenhum erro, mas não funciona. Sugestões?

Muito obrigado.

Oi,

Para inserir vários dados padrões do banco, utiliza do seguinte código:

// Padrão de país.
String[] pais = {"BANGLADESH","BELGICA","ANTARTIDA","ALEMANHA","AUSTRIA",
				"RUSSIA","GALES","ESCOCIA","ARGENTINA","EQUADOR",
				"BOLIVIA","EGITO","SUDAO","NIGERIA","CHINA",
				"INDIA","AFEGANISTAO","JAPAO","INDONESIA","AUSTRALIA",
				"CANADA","MEXICO","ANGOLA","ITALIA","GROELANDIA"};

Palavra p = new Palavra("", "");
String palavra;
for(int j = 0;j < pais.length;j++) {
    // Atualizando a palavra.
    palavra = pais[j];
	p.setPalavra(palavra);
	p.setCategoria("PAIS");
        
    // Introduzindo o valor em um Content Vaue.
	ContentValues cv = getCV(p);
        
    // Inserindo na tabela palavras do banco.
	db.insert("palavras", null, cv);
}

private ContentValues getCV(Palavra palavra) {
	ContentValues cv = new ContentValues();

     // Será inserido na coluna palavra.
	cv.put("palavra", palavra.getPalavra());

     // Será inserido na coluna categoria.
	cv.put("categoria", palavra.getCategoria());
	return cv;
}

Deu para entender mais ou menos? :slight_smile:

[quote=felipebonezi]Oi,

Para inserir vários dados padrões do banco, utiliza do seguinte código:

// Padrão de país.
String[] pais = {"BANGLADESH","BELGICA","ANTARTIDA","ALEMANHA","AUSTRIA",
				"RUSSIA","GALES","ESCOCIA","ARGENTINA","EQUADOR",
				"BOLIVIA","EGITO","SUDAO","NIGERIA","CHINA",
				"INDIA","AFEGANISTAO","JAPAO","INDONESIA","AUSTRALIA",
				"CANADA","MEXICO","ANGOLA","ITALIA","GROELANDIA"};

Palavra p = new Palavra("", "");
String palavra;
for(int j = 0;j < pais.length;j++) {
    // Atualizando a palavra.
    palavra = pais[j];
	p.setPalavra(palavra);
	p.setCategoria("PAIS");
        
    // Introduzindo o valor em um Content Vaue.
	ContentValues cv = getCV(p);
        
    // Inserindo na tabela palavras do banco.
	db.insert("palavras", null, cv);
}

private ContentValues getCV(Palavra palavra) {
	ContentValues cv = new ContentValues();

     // Será inserido na coluna palavra.
	cv.put("palavra", palavra.getPalavra());

     // Será inserido na coluna categoria.
	cv.put("categoria", palavra.getCategoria());
	return cv;
}

Deu para entender mais ou menos? :)[/quote]

Valew cara, funcionou!
Muito obrigado.

Que bom :slight_smile:
Ainda bem que ajudei alguém!

Olha, coloca [RESOLVIDO] no assunto do tópico. É só você editar o primeiro post.

Abraço.