0

これは、アプリケーションを実行しようとしたときに発生するエラーです

Androidの不正な引数例外:列_idが存在しません

   public static final String OBJ_ID="_id";

データベースの作成は次のとおりです。

 private static final String CREATE_TAB1= "create table " + TABLE_1 + " (" + OBJ_ID + " integer primary key                                     
    autoincrement, " + OBJ_NAME + " text not null, " + DESC1 + " text not null, " + DESC2 + " text not null);"; 

databasehandler で次の関数を使用してデータを取得しようとしています:

     public Cursor getAllTable1() {
                return db.query(TABLE_1, 
                                new String[] { OBJ_NAME }, 
                                null, null, null, null, null);
              }

これは、データベースと通信する機能です

    public class List_View extends ListActivity {



public void onCreate(Bundle icicle)
{
    super.onCreate(icicle); 
    setContentView(R.layout.displayitems); 

     Databasehelp db = new Databasehelp(this);
    db.open();


    Cursor cursor = db.getAllTable1();

     startManagingCursor(cursor); 

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
           R.layout.list_example_entry, cursor, 
           new String[] {"name"}, 
           new int[] {R.id.name_entry }); 
    setListAdapter(adapter);
}
}

私のデータベーススキーマは_idという名前の列で構成されていますが. これを偶数 _ID に変更しましたが、うまくいかないようでした。誰でもこれを解決するのを手伝ってもらえますか?

4

1 に答える 1

0

Cursor を ListView (Spinner など) にバインドするときは、列を選択する必要があります。_id

したがって、次の_idように列を追加します。

public Cursor getAllTable1() {
    return db.query(TABLE_1, 
            new String[] { OBJ_ID, OBJ_NAME }, 
            null, null, null, null, null);
}
于 2012-06-19T18:42:06.157 に答える