2011-07-04 17 views
0

こんにちは私はAndroidアプリケーションをやっていて、私はデータベースを持っています。私はクエリを実行することができますが、挿入が機能していないようです。私は、フィールド "ID"、 "名前"と "元"とのプロファイルという名前のテーブルがあります。データベースインサートはAndroidで動作しません

public void addProfile(String name) 
{  
myDataBase.rawQuery("INSERT INTO profile(name, original) values('"+name+"', '0')", null);  
} 

そして、私がやっている:

この

は方法です

DataBaseHelper myDbHelper =新しいDataBaseHelper(活性);

try { 
     myDbHelper.createDataBase(); 
    } catch (IOException ioe) { 
     throw new Error("Unable to create database"); 
    } 

    try { 
     myDbHelper.openDataBase(); 

    } catch (SQLException sqle) { 
     throw sqle; 
    } 

    for(Profile p : profiles){ 
     myDbHelper.addProfile(p.getName()); 
     System.out.println("Commiting profile "+ p.getName()); 

LogCatでは、「コミットプロファイルテスト」と正しく表示されます。

私は、データベースを開いている:

myDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE); 

私はERROのためにどこでも検索したと私はそれを見つけるように見えることはできません。テーブルに「_id」の代わりに「id」があるからですか?それはSELECTにのみ影響しますか?私の選択では、_idとしてselect idを使用しますが、挿入する方法はわかりません。

答えて

4

データを挿入するためにrawQueryを使用することはできません。 execSQL

+0

またはさらに簡単にするには、[挿入](http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang.String、%20java .lang.String、%20andandroid.content.ContentValues)) –

+0

確かに、単純な挿入のためには好ましい方法です。 – woodshy

+0

ありがとう、それはトリックでした。 –

関連する問題