>

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.



Recuperar valor de um campo do banco de dados


Ola,

Estou tentando pegar o valor do preco de um produto do banco sqlite, segue o codigo:
String codigo = codProd.getText().toString();
db = openOrCreateDatabase("android.db", MODE_PRIVATE, null);
cursor = db.rawQuery("select preco from produtos where(_id = "+codigo+")limit 1", null);
String preco = cursor.getString(cursor.getColumnIndex("preco")); // aqui ocorre o erro.

Logcat

08-26 00:51:43.001: E/AndroidRuntime(888): FATAL EXCEPTION: main
08-26 00:51:43.001: E/AndroidRuntime(888): java.lang.IllegalStateException: Could not execute method of the activity
08-26 00:51:43.001: E/AndroidRuntime(888): at android.view.View$1.onClick(View.java:2072)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.view.View.performClick(View.java:2408)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.view.View$PerformClick.run(View.java:8816)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.os.Handler.handleCallback(Handler.java:587)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.os.Handler.dispatchMessage(Handler.java:92)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.os.Looper.loop(Looper.java:123)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.app.ActivityThread.main(ActivityThread.java:4627)
08-26 00:51:43.001: E/AndroidRuntime(888): at java.lang.reflect.Method.invokeNative(Native Method)
08-26 00:51:43.001: E/AndroidRuntime(888): at java.lang.reflect.Method.invoke(Method.java:521)
08-26 00:51:43.001: E/AndroidRuntime(888): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
08-26 00:51:43.001: E/AndroidRuntime(888): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
08-26 00:51:43.001: E/AndroidRuntime(888): at dalvik.system.NativeStart.main(Native Method)
08-26 00:51:43.001: E/AndroidRuntime(888): Caused by: java.lang.reflect.InvocationTargetException
08-26 00:51:43.001: E/AndroidRuntime(888): at dominus.vendas.Vendas.insereItem(Vendas.java:90)
08-26 00:51:43.001: E/AndroidRuntime(888): at java.lang.reflect.Method.invokeNative(Native Method)
08-26 00:51:43.001: E/AndroidRuntime(888): at java.lang.reflect.Method.invoke(Method.java:521)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.view.View$1.onClick(View.java:2067)
08-26 00:51:43.001: E/AndroidRuntime(888): ... 11 more
08-26 00:51:43.001: E/AndroidRuntime(888): Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
08-26 00:51:43.001: E/AndroidRuntime(888): at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214)
08-26 00:51:43.001: E/AndroidRuntime(888): at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)


Obrigado



1 Resposta


Olá

Você precisa avançar o curso, com movetonext ou first.