2012-01-13 3 views
-1

sqlite 데이터베이스를 사용하고 있습니다. 다음 코드를 사용하여 데이터베이스에 세 개의 값을 저장했습니다.sqlite 데이터베이스에 arraylist의 내용을 삽입하는 데 도움이 필요

sampleDB = this.openOrCreateDatabase(SAMPLE_DB_NAME, MODE_PRIVATE, null); 
     sampleDB.execSQL("CREATE TABLE IF NOT EXISTS " + SAMPLE_TABLE_NAME 
       + " (rowid INT , songname VARCHAR," + " count INT);"); 
     int len = songlist.size(); 
     Log.v("songlist len", Integer.toString(len)); 
     for (int s = 0; s < songlist.size(); s++) {   

      sampleDB.execSQL("INSERT INTO " + SAMPLE_TABLE_NAME + 
      " Values (1,"+songlist.get(s)+",1);"); 



      Log.v("After insert", "1"); 
     } 

와 나는 다음과 같은 오류를

01-13 20:58:08.903: E/AndroidRuntime(593): Caused by: android.database.sqlite.SQLiteException: no such column: android: INSERT INTO freq Values (1,android,1); 

도움이 필요 얻을.

+0

내가 이런 종류의 질문을 사랑 문자열 항목에 대한 따옴표를 추가해야합니다 ... 그것은 http://en.wikipedia.org/wiki/Programming_by_permutation ...의 샘플입니다 보인다 안드로이드 기초 지식을 이해하지 않고 안드로이드 프로그래밍 : 단순히 'openOrCreateDatabase'를 사용하고 있습니다.이 함수는 이미 생성 된 db를 새로 만들거나 OPENING을 만들었습니다 ... 당신이 이미 테스트 장치/에뮬레이터 db에서이 프로그램을 실행하고 테이블을 추가했음을 나타냅니다. ...하지만이 테이블에는 다른 열이있었습니다 (앱을 "개발"하면서 새 테이블을 추가 했으므로) ... – Selvin

+0

" "sqlite3 데이터베이스를 디버깅 할 수 없습니다 – L7ColWinters

답변

1

시도해보십시오. 시작처럼 어쩌면 당신은
Values (1,\""+songlist.get(s)+"\",1);");

+2

수 있습니다. 항상 따옴표를 써야합니다. ContentValues를 사용하면 이스케이프 처리가됩니다. – njzk2

관련 문제