마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

디비의 특정열을 사용해서 같은 행의 다른 열도 출력하고 싶습니다.

0 추천

Helper = new myDBHelper(this);
sqlDB = Helper.getReadableDatabase();

Cursor cursor;
cursor = sqlDB.rawQuery("SELECT * FROM readTBL;", null);

int k=0, i=0;
if(votedBook[0].equals(cursor.getString(0))){
    k=cursor.getCount();
}

cursor.moveToPosition(k);
et[0].setText(cursor.getString(1));

 

votedBook 배열에 있는 값과 디비의 첫번째 열과 비교해서 같으면 같은 행의 두번째 열을 출력하고 싶습니다.

그런데 k=cursor.getCount(); 이부분에서 에러가 납니다.

2021-05-11 16:17:46.286 5582-5582/com.example.pj E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.pj, PID: 5582
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.pj/com.example.pj.quarter}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 8
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
     Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 8
        at android.database.AbstractCursor.checkPosition(AbstractCursor.java:514)
        at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:138)
        at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:52)
        at com.example.pj.quarter.onCreate(quarter.java:90)
        at android.app.Activity.performCreate(Activity.java:8000)
        at android.app.Activity.performCreate(Activity.java:7984)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:223) 
        at android.app.ActivityThread.main(ActivityThread.java:7656) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 
2021-05-11 16:17:46.328 5582-5582/com.example.pj I/Process: Sending signal. PID: 5582 SIG: 9

어떻게해야 될까요?

레고레고 (140 포인트) 님이 2021년 5월 11일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...