2014-05-16 89 views
0

我有一個名爲app_catagory的表。問題是,當我嘗試插入一行到表中,我得到這個異常:無法在SQLite數據庫中插入一行

致命異常:主要顯示java.lang.NullPointerException

的logcat中顯示了此行有問題的代碼:

db.insert(DATABASE_TABLE2, null, initialValues); 

我該如何解決?

代碼

static final String DATABASE_APP_CAT= "create table app_catagory(cat_id interprimary key autoincrement, " + 
    "name text not null," + 
    "date_created date , " + 
    "img_name text);"; 

//Insert into catagory table 
public static void insertContact_app_cat() 
{ 
    String[] name={"DOCTOR","PHARMACY","PATHLAB","BLOODBANK"}; 

    for(int i=1;i<=4;i++){ 
     ContentValues initialValues = new ContentValues(); 
     initialValues.put(KEY_CAT_NAME, name[i]); 
     initialValues1.put(KEY_CAT_DATE, "05-05-2014"); 
     initialValues2.put(KEY_CAT_IMG,"null"); 
     db.insert(DATABASE_TABLE2, null, initialValues); 
    } 
} 
+0

請,發佈完整的錯誤日誌信息。 –

+0

致命異常:主要 顯示java.lang.NullPointerException – user3269876

+1

我不認爲這是一個完整的錯誤日誌。 :)無論如何現在嘗試刪除FOR語句並檢查錯誤是否持續。顯然你需要用「test」這樣的字符串來改變name [i]。 –

回答

1

我沒有看到你所得到的數據庫,當我做一個插入我做我的ContentValues添加的東西之前調用這段代碼。

SQLiteDatabase db = this.getWritableDatabase(); 

然後插入後我會關閉數據庫。

db.close();