Erro eclipse e SQLite...
26/11/2015
0
https://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
Jorge Conforte
Posts
26/11/2015
Jorge Conforte
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; } }
26/11/2015
Usuario
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!
26/11/2015
Jorge Conforte
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"?
26/11/2015
Jorge Conforte
https://www.devmedia.com.br/emulador-e-tela-de-listagem-curso-de-android-criando-uma-loja-virtual-aula-47/30306
26/11/2015
Usuario
É nessa classe que possui o seu método cadastrar? Caso seja post o código do seu método cadastrar!
Clique aqui para fazer login e interagir na Comunidade :)