Erro eclipse e SQLite...

26/11/2015

2

Estou vendo esse curso:
http://www.devmedia.com.br/curso/curso-de-android-criando-uma-loja-virtual/384

Esta dando um erro quando aperto cadastrar:
[img]http://arquivo.devmedia.com.br/forum/imagem/464604-20151126-133510.png[/img]

Erro no LogCat:
11-26 15:37:27.766: E/SQLiteDatabase(615): Error inserting SEXO=M PROFISSAO=3 ENDERECO=dsfdf CPF=23232 NOME=dsfdf
11-26 15:37:27.766: E/SQLiteDatabase(615): android.database.sqlite.SQLiteException: no such table: TB_PESSOA: , while compiling: INSERT INTO TB_PESSOA(SEXO,PROFISSAO,ENDERECO,CPF,NOME) VALUES (?,?,?,?,?)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:143)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:361)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:260)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:112)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1718)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1591)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at br.supermercado.sqlite.MockOpenHelper.cadastrar(MockOpenHelper.java:48)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at br.supermercado.bo.MockBO.castrarPessoa(MockBO.java:24)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at br.supermercado.MockActivity.cadastrar(MockActivity.java:61)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at java.lang.reflect.Method.invoke(Method.java:511)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.view.View$1.onClick(View.java:3034)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.view.View.performClick(View.java:3480)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.view.View$PerformClick.run(View.java:13983)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.os.Handler.handleCallback(Handler.java:605)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.os.Handler.dispatchMessage(Handler.java:92)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.os.Looper.loop(Looper.java:137)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at android.app.ActivityThread.main(ActivityThread.java:4340)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at java.lang.reflect.Method.invoke(Method.java:511)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-26 15:37:27.766: E/SQLiteDatabase(615): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-26 15:37:27.976: D/AndroidRuntime(615): Shutting down VM
11-26 15:37:27.976: W/dalvikvm(615): threadid=1: thread exiting with uncaught exception (group=0x409961f8)
11-26 15:37:28.006: E/AndroidRuntime(615): FATAL EXCEPTION: main
11-26 15:37:28.006: E/AndroidRuntime(615): java.lang.NoSuchMethodError: android.database.sqlite.SQLiteDatabase.query
11-26 15:37:28.006: E/AndroidRuntime(615): 	at br.supermercado.sqlite.MockOpenHelper.listar(MockOpenHelper.java:55)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at br.supermercado.bo.MockBO.listarPessoas(MockBO.java:32)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at br.supermercado.MockListActivity.listarPessoas(MockListActivity.java:43)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at br.supermercado.MockListActivity.onCreate(MockListActivity.java:39)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.Activity.performCreate(Activity.java:4465)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.ActivityThread.access$600(ActivityThread.java:122)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.os.Looper.loop(Looper.java:137)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at android.app.ActivityThread.main(ActivityThread.java:4340)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at java.lang.reflect.Method.invokeNative(Native Method)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at java.lang.reflect.Method.invoke(Method.java:511)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-26 15:37:28.006: E/AndroidRuntime(615): 	at dalvik.system.NativeStart.main(Native Method)
11-26 15:37:29.795: I/Process(615): Sending signal. PID: 615 SIG: 9
Responder

Posts

26/11/2015

Jorge Conforte

Se ajudar posto os códigos.
Responder

26/11/2015

Jorge Conforte

LoginOpenHelper:
package br.supermercado.sqlite;

import java.util.Locale;
import java.util.ResourceBundle;

import br.supermercado.comum.Constantes;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class LoginOpenHelper extends SQLiteOpenHelper{
	
	private static ResourceBundle config = ResourceBundle.getBundle(Constantes.DB_CONFIG_PROPS, Locale.getDefault());

	public LoginOpenHelper(Context context) {
		super(context, config.getString(Constantes.DB_CONFIG_NOME), null, Integer.parseInt(config.getString(Constantes.DB_CONFIG_VERSAO)));
		// TODO Auto-generated constructor stub
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		StringBuilder sql = new StringBuilder();
		sql.append("CREATE TABLE TB_USUARIO (");
		sql.append("ID_USUARIO INTEGER PRIMARY KEY AUTOINCREMENT,");
		sql.append("LOGIN TEXT NOT NULL,");
		sql.append("SENHA TEXT NOT NULL)");
		
		db.execSQL(sql.toString());
		
		sql = new StringBuilder();
		sql.append("CREATE TABLE TB_PESSOA (");
		sql.append(" ID_PESSOA INTEGER PRIMARY KEY AUTOINCREMENT,");
		sql.append(" NOME TEXT NOT NULL,");
		sql.append(" ENDERECO TEXT NOT NULL,");
		sql.append(" CPF TEXT NOT NULL,");
		sql.append(" PROFISSAO INT NOT NULL,");
		sql.append(" SEXO CHAR NOT NULL)");
		db.execSQL(sql.toString());
		mockPopulaUsuarios(db);
	}
	
	private void mockPopulaUsuarios(SQLiteDatabase db) {
		StringBuilder sql = new StringBuilder();
		sql.append("INSERT INTO TB_USUARIO(LOGIN, SENHA) VALUES('Diogo', '123')");
		db.execSQL(sql.toString());
		
		ContentValues values = new ContentValues();
		values.put("LOGIN", "admin");
		values.put("SENHA", "admin");
		db.insert("TB_USUARIO", null, values);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		// TODO Auto-generated method stub
		
	}
	
	public boolean validarLogin(String usuario, String senha) {
		SQLiteDatabase db = getReadableDatabase();
		Cursor cursor = db.query("TB_USUARIO", null, "LOGIN = ? AND SENHA = ?", new String[]{usuario, senha}, null, null, null);
		if (cursor.moveToFirst()) {
			return true;
		}
		return false;
	}
}
Responder

26/11/2015

Jorge Conforte

Alguém?
Responder

26/11/2015

Usuario

Jorge, você está fazendo os códigos conforme consta nas video-aulas?
Veja bem, se o seu erro está quando você clica no botão cadastrar, então algo está errado com ele! Qual ação faz o seu botão cadastrar? Post aqui o código para verificar...

Observação: tente identificar o erro no logcat.. la já mostra em qual classe está acontecendo o erro e em qual linha está o erro!
Responder

26/11/2015

Jorge Conforte

Jorge, você está fazendo os códigos conforme consta nas video-aulas?
Veja bem, se o seu erro está quando você clica no botão cadastrar, então algo está errado com ele! Qual ação faz o seu botão cadastrar? Post aqui o código para verificar...

Observação: tente identificar o erro no logcat.. la já mostra em qual classe está acontecendo o erro e em qual linha está o erro!



Fiz exatamente como nos vídeos.

O problema é no "MockOpenHelper"?
Responder

26/11/2015

Usuario

O problema é no "MockOpenHelper"?

É nessa classe que possui o seu método cadastrar? Caso seja post o código do seu método cadastrar!
Responder