2011-07-04 54 views
0

嗨我正在做一個Android應用程序,我有一個數據庫。我能夠做查詢,但插入似乎沒有工作。我有一個名爲「id」,「name」和「original」字段的表。數據庫插入不能在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); 

我到處找埃羅和我似乎無法找到它。是因爲我在桌上有一個「id」而不是「_id」?這不會隻影響SELECTs嗎?在我選擇我使用選擇id作爲_id但插入我不知道該怎麼做。

回答

4

不允許使用rawQuery來插入數據。您應該使用execSQL

+0

或者爲了讓生活變得更加簡單,[插入](http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#insert(java.lang.String,%20java .lang.String,%20android.content.ContentValues)) –

+0

當然,對於簡單的插入它是首選的方法。 – woodshy

+0

謝謝,那就是訣竅。 –