2014-06-21 2 views
-1

내 안드로이드 애플 리케이션의 sqlite 데이터베이스에서 데이터를 읽고 싶지만 앱이 강제로 종료됩니다. 여기 sqlite 데이터베이스에서 데이터 쓰기 android

public void getData(String[] results) 
    { 


     String[] columns = new String[]{ KEY_SNO,KEY_ITEM,KEY_PRICE,KEY_TIME }; 
     Cursor c = canteendb.query(DATABASE_CTABLE,columns,null,null,null,null,null); 
     int iSno = c.getColumnIndex(KEY_SNO); 
     int iItem = c.getColumnIndex(KEY_ITEM); 
     int iPrice = c.getColumnIndex(KEY_PRICE); 
     int iTime = c.getColumnIndex(KEY_TIME); 
     for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) 
     { 
     results[0]=c.getString(iSno); 
      results[1]=c.getString(iItem); 
       results[2]=c.getString(iPrice); 
       results[3]=c.getString(iTime); 
     } 

    } 

는 로그 캣입니다 : 내가 먼저 데이터베이스를 열고 커서 C를 사용할 필요가 있다고 생각

06-21 18:55:17.028: E/AndroidRuntime(9160): FATAL EXCEPTION: main 
06-21 18:55:17.028: E/AndroidRuntime(9160): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.expenditurelogs/com.example.expenditurelogs.CanteenLog}: java.lang.NullPointerException 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2299) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.ActivityThread.access$700(ActivityThread.java:150) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.os.Looper.loop(Looper.java:137) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.ActivityThread.main(ActivityThread.java:5283) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at java.lang.reflect.Method.invoke(Method.java:511) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at dalvik.system.NativeStart.main(Native Method) 
06-21 18:55:17.028: E/AndroidRuntime(9160): Caused by: java.lang.NullPointerException 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at com.example.expenditurelogs.CTable.getData(CTable.java:78) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at com.example.expenditurelogs.CanteenLog.onCreate(CanteenLog.java:22) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.Activity.performCreate(Activity.java:5283) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209) 
06-21 18:55:17.028: E/AndroidRuntime(9160):  ... 11 more 
+1

logcat 출력을 게시하십시오. –

+0

@PareshMayani 버그를 찾을 수 있습니까? – user3762390

+0

라인 78은 어느 라인입니까? – user184994

답변

0

;

db.open();

커서 c = canteendb.query (DATABASE_CTABLE, columns, null, null, null, null, null, null);

+0

네, 효과가있었습니다. 감사합니다 : D – user3762390

+0

기쁜 i 도왔습니다 : P –

관련 문제