2014-01-26 3 views
0

Android 시스템의 SQLite3 데이터베이스에 데이터를 삽입하려고합니다. 이 방법은해야Android SQLite : insert() issues

세 개의 문자열을 받아 데이터베이스에 삽입 : 모든 TEXT NULL로 정의된다

public void createEntry(String description, String reps, String weight) 
{ 
    ContentValues cv = new ContentValues(); 
    cv.put(KEY_DESCRIPTION, description); 
    cv.put(KEY_REPS, reps); 
    cv.put(KEY_WEIGHT, weight); 
    sqlDB.insert(DATABASE_TABLE, null, cv);  
} 

열 (KEY_DESCRIPTION ..)을하고 또한 자동 증가 열을 추가했다. 내 주요 활동에서

나는 글고 위젯에서 입력을 얻기 위해이 코드를 사용하고

다음

String description = sqlDescription.getText().toString();

내 DB 클래스의 인스턴스 만드는거야 :

  DB entry = new DB(MainActivity.this); 
      entry.open(); 
      entry.createEntry(description, reps, weight); 
      entry.close(); 

개방() 사용을 SQLiteOpenHelper 및 데이터베이스 설정 :

public DB open() 
{ 
    sqlHelper = new dbHelper(sqlContext); 
    sqlDB = sqlHelper.getWritableDatabase(); 
    return this; 
} 

하지만이 메서드를 호출 할 때 :

(1) 근처 "표": 구문 오류

E /의 SQLiteDatabase (19344) : 오류 삽입 설명 = 테스트 무게 = TESZ 담당자 = 시험

나는 오류 다음 얻을

entry.createEntry(description, reps, weight);

E/SQLiteDatabase (19344) : android.database.sqlite.SQLiteException : 구문 오류 :

(코드 1) : 컴파일 중 : INSERT INTO 테이블 ?,?)

+0

이 DATABASE_TABLE' 문자열 –

+0

개인 정적 최종 문자열 DATABASE_TABLE = "테이블"'의 가치를 공유하십시오; – user3125138

답변

2

표는 reserved word in SQL입니다. 테이블의 이름으로 사용해서는 안됩니다.

로 변경합니다 :

private static final String DATABASE_TABLE = "myTable";