2012-01-31 49 views
0

我有sqlite中只包含一條記錄的表,我想在遊標中訪問它但面臨問題我得到這個異常java.lang.IllegalStateException :從0行山坳得到場插槽-1失敗java.lang.IllegalStateException:從行0得到字段插槽col -1失敗

我的代碼是在這裏:

c2=sql.dis(); 
c2.moveToFirst(); 
name = c2.getString(c2.getColumnIndex(DbManager.displayname)); 
ListName.setText("selected list"+name); 
} 

,這在BD類:

public Cursor dis() { 

     try 
     { 
     SQLiteDatabase db= this.getWritableDatabase(); 
     String[] todo = new String[] {displayName };   
     Cursor cursor=db.query(displayname, todo, null, null, null,null, null); 
     return cursor; 
     } 
     catch(Exception ex) 
     { 
      str = ex.toString(); 
     } 
+0

檢查遊標長度以及是否爲空。光標.movetofirst應該解決這個問題,但也使用他們 – 2012-01-31 08:29:11

+0

@ Abhinav辛格Maurya感謝您的評論只是趕上我的錯誤即時通訊使用表名稱,而不是列** name = c2.getString(c2.getColumnIndex(DbManager.displayname)); * *顯示其表格不是列。現在它的工作:) – 2012-01-31 08:33:31

+1

謝謝@ android-xx指出,實際上我給了答案,看到異常這就是爲什麼我評論它不作爲答覆發佈我只是問,如果這是幫助或不。那麼恭喜你解決了它 – 2012-01-31 08:36:30

回答

3

概率以上代碼的lem就在這一行 name = c2.getString(c2.getColumnIndex(DbManager.displayname));displayname是表名不是列名。

相關問題