2012-01-13 10 views
-1

私はsqliteデータベースを使用しています。私は次のコードを使ってデータベースに3つの値を格納しました。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 ...のサンプルだそれはそうですアンドロイドの基本を理解していないAndroidプログラミング:単にopenOrCreateDatabaseを使用していますが、この関数は新しいOR OPENINGを既に作成しています...既にこのプログラムをテストデバイス/エミュレータdb上で実行していて、テーブルが追加された...しかし、このテーブルは異なる列を持っていました(あなたがあなたのアプリを "開発"している間に新しいテーブルを追加するので)... – Selvin

+0

" "データベースをデバッグするsqlite3 – L7ColWinters

答えて

1

これを試してください。あなたが開始するようにたぶん、あなたは私が質問のこの種のが大好き文字列エントリのため
Values (1,\""+songlist.get(s)+"\",1);");

+2

ありません。あなたは常に引用符を入れなければなりません。むしろContentValuesを使用して、エスケープします。 – njzk2

関連する問題