>

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.



Problemas com a execução com SimpleCursorAdapter



package br.com.paulo.minhasvendas;

import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Main_Activity extends AppCompatActivity {

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

/* Criando Banco de Dados*/
SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);

StringBuilder sqlProduto = new StringBuilder();
sqlProduto.append ("CREATE TABLE IF NOT EXISTS [Produto](");
sqlProduto.append("[ID] INTEGER PRIMARY KEY AUTOINCREMENT, ");
sqlProduto.append("NOME_PRODUTO VARCHAR (50), ");
sqlProduto.append("PRECO DOUBLE (10,2));");
db.execSQL(sqlProduto.toString());

db.execSQL("INSERT INTO Produto(NOME_PRODUTO, PRECO) VALUES ('COCA COLA', '5.00')");
db.execSQL("INSERT INTO Produto(NOME_PRODUTO, PRECO) VALUES ('REDBULL', '8.99')");
db.execSQL("INSERT INTO Produto(NOME_PRODUTO, PRECO) VALUES ('AGUA', '1.00')");
db.execSQL("INSERT INTO Produto(NOME_PRODUTO, PRECO) VALUES ('SALGADOS', '2.50')");
db.execSQL("INSERT INTO Produto(NOME_PRODUTO, PRECO) VALUES ('PRODUTO LIMPEZA', '19.20')");

StringBuilder sqlVendas = new StringBuilder();
sqlVendas.append("CREATE TABLE IF NOT EXISTS [Vendas](");
sqlVendas.append("[ID] INTEGER PRIMARY KEY AUTOINCREMENT, ");
sqlVendas.append("PRODUTO INTEGER (50), ");
sqlVendas.append("PRECO DOUBLE (10,2),");
sqlVendas.append("LA DOUBLE (10,9), ");
sqlVendas.append("LO DOUBLE (10,9)); ");
db.execSQL(sqlVendas.toString());

db.close();

Button btn_novavenda = (Button) findViewById(R.id.btn_novavenda);
btn_novavenda. setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
Intent intent = new Intent (getBaseContext(), NovaVenda_Activity.class);
startActivity(intent);
}
});
}
}




import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.SimpleAdapter;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;

public class NovaVenda_Activity extends AppCompatActivity {

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

Spinner sp_produto = (Spinner) findViewById(R.id.sp_produto);

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

Cursor dbcursor = db.rawQuery("SELECT * FROM Produto ORDER BY NOME_PRODUTO ASC", null);

String[] from = {"ID", "NOME_PRODUTO", "PRECO"};

int[] para = {R.id.txt_id, R.id.txt_nome, R.id.txt_preco};

SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(), R.layout.spinner, dbcursor, from, para);
sp_produto.setAdapter(ad);


Button btn_enviavenda = (Button) findViewById(R.id.btn_enviavenda);
btn_enviavenda.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});

}
}



Erro ao Clicar em Inserir nova Venda

08-03 12:01:53.023 17603-17668/br.com.paulo.minhasvendas I/OpenGLRenderer: Initialized EGL, version 1.4
08-03 12:01:53.023 17603-17668/br.com.paulo.minhasvendas W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
08-03 12:01:53.172 17603-17603/br.com.paulo.minhasvendas W/art: Before Android 4.1, method int android.support.v7.internal.widget.ListViewCompat.lookForSelectablePosition(int, boolean) would have incorrectly overridden the package-private method in android.widget.ListView
08-03 12:02:35.762 17603-17603/br.com.paulo.minhasvendas D/AndroidRuntime: Shutting down VM
08-03 12:02:35.762 17603-17603/br.com.paulo.minhasvendas E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.paulo.minhasvendas, PID: 17603
java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.paulo.minhasvendas/br.com.paulo.minhasvendas.NovaVenda_Activity}: java.lang.IllegalArgumentException: column '_id' does not exist
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.IllegalArgumentException: column '_id' does not exist
at android.database.AbstractCursor.getColumnIndexOrThrow(AbstractCursor.java:333)
at android.widget.CursorAdapter.init(CursorAdapter.java:180)
at android.widget.CursorAdapter.(CursorAdapter.java:128)
at android.widget.ResourceCursorAdapter.(ResourceCursorAdapter.java:55)
at android.widget.SimpleCursorAdapter.(SimpleCursorAdapter.java:78)
at br.com.paulo.minhasvendas.NovaVenda_Activity.onCreate(NovaVenda_Activity.java:33)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 



1 Resposta


Olá Paulo

Obrigada pela mensagem, já estamos verificando a sua duvida, e em breve iremos lhe responder.

Att