>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Está dando "Unfortunately, Vendas has stopped"


estou seguindo a orientação da aula "Aula 1 - Criando Projeto no Android com GPS"


package br.com.rlsystem.vendas;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);

StringBuilder sqlProdutos = new StringBuilder();
sqlProdutos.append("CREATE TABLE IF NOT EXISTS [produtos](");
sqlProdutos.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT");
sqlProdutos.append("nome varchar(30)");
sqlProdutos.append("preco DOUBLE(10,2));");
db.execSQL(sqlProdutos.toString());

StringBuilder sqlVendas = new StringBuilder();
sqlVendas.append("CREATE TABLE IF NOT EXISTS [vendas](");
sqlVendas.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT");
sqlVendas.append("produto INTEGER");
sqlVendas.append("preco DOUBLE(10,2)");
sqlVendas.append("la DOUBLE(10,9)");
sqlVendas.append("lo DOUBLE(10,9));");
db.execSQL(sqlVendas.toString());
}

public void NovaVenda_Click(View v){
startActivity(new Intent(getBaseContext(), NovaVendaActivity.class));
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}



quando eu vou rodar, está dando sempre esse erro "Está dando "Unfortunately, Vendas has stopped"



3 Respostas


Aqui está o logcat







Olá

Tire os [] do [_id]

E falta vingurla em cada campo

Errado:

sqlProdutos.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT");
sqlProdutos.append("nome varchar(30)");

Certo:

sqlProdutos.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT,");
sqlProdutos.append("nome varchar(30),");

Olha a virgula que coloquei. Faça isso em todos.




Já resolvi o problema... faltou as vírgulas depois de cada coluna da tabela