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

Logcat창에 이런 에러 문구가 떳는 무슨말인지 모르겠어서 문의 드려요

0 추천
Logcat창에 이런 에러 문구가 떳는 무슨말인지 모르겠어서 문의 드려요

slqlite 문제인거 같은데 어디서 손봐야할지 모르겠어서 고수님들의 사견을 주시면 감사하겠습니다.

05-09 20:21:19.504 9992-9992/com.mcuhq.simpletest_4 E/AndroidRuntime: FATAL EXCEPTION: main

    Process: com.mcuhq.simpletest_4, PID: 9992

    android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compiling: INSERT INTO andgle VALUES(null, '', , '');

    #################################################################

    Error Code : 1 (SQLITE_ERROR)

    Caused By : SQL(query) error or missing database.

    (near ",": syntax error (code 1): , while compiling: INSERT INTO andgle VALUES(null, '', , '');)

    #################################################################

        at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)

        at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1004)

        at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:569)

        at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)

        at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:59)

        at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)

        at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1838)

        at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1769)

        at com.mcuhq.simpletest_4.DBHelper.insert(DBHelper.java:38)

        at com.mcuhq.simpletest_4.MainActivity$1.handleMessage(MainActivity.java:148)

        at android.os.Handler.dispatchMessage(Handler.java:102)

        at android.os.Looper.loop(Looper.java:148)

        at android.app.ActivityThread.main(ActivityThread.java:7406)

        at java.lang.reflect.Method.invoke(Native Method)

        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)

        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

05-09 20:21:21.824 9992-9992/com.mcuhq.simpletest_4 I/Process: Sending signal. PID: 9992 SIG: 9
익명사용자 님이 2018년 5월 9일 질문

2개의 답변

0 추천

 Caused By : SQL(query) error or missing database.라 나오는 것을 보니,

sql 입력 명령어 입력 형식이 틀렸거나, DB Table 같은 것을 생성하지 않는 상태에서 Insert  명령어를 입력 하신 듯 합니다.

익명사용자 님이 2018년 5월 10일 답변
예제를 참고 해서 작성을 했는데 한번 봐줄실수 있나요?
 public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    public void insert(String readBuffer_X, String readBuffer_Y, String readBuffer_Z) {
        // 읽고 쓰기가 가능하게 DB 열기
        SQLiteDatabase db = getWritableDatabase();
        // DB에 입력한 값으로 행 추가
        db.execSQL("INSERT INTO Angle VALUES(null, '" + readBuffer_Y + "', " + readBuffer_Z + ", '" + readBuffer_X + "');");
        db.close();
    }

        // DB에 있는 데이터를 쉽게 처리하기 위해 Cursor를 사용하여 테이블에 있는 모든 데이터 출력
        Cursor cursor = db.rawQuery("SELECT * FROM Angle", null);
        while (cursor.moveToNext()) {
            result += cursor.getString(0)
                    + " : "
                    + cursor.getString(1)
                    + " | "
                    + cursor.getInt(2)
                    + " | "
                    + cursor.getString(3)
                    + " | ";
        }

        return result;
    }
}
0 추천

 (near ",": syntax error (code 1): , while compiling: INSERT INTO andgle VALUES(null, '', , '');)

이 부분인듯 합니다.

(null, '', , '');)
            ^ 
이 콤마 사이에 값이 없어서 그런 듯 하네요.

niss (3,110 포인트) 님이 2018년 5월 11일 답변
...