我想通过名称查询出相应的ID 为什么每次 我取到的id 都是0 ?我已经确定 数据库里有数据!
//数据库 表
- Java code
// 语音场景方言表tbl_menu_dialect private void initDB_tbl_menu_dialect(SQLiteDatabase paramSQLiteDatabase) { paramSQLiteDatabase .execSQL("CREATE TABLE IF NOT EXISTS tbl_menu_dialect (_id integer primary key autoincrement, menuid integer not null ,dialectname TEXT,audiofile TEXT,version integer not null DEFAULT 0 );"); }
- Java code
public Cursor fecth_menud(String dialectname) { Cursor mCursor = mDb.query(tbl_dialect.DB_NAME, new String[] { tbl_dialect.KEY_ROWID, tbl_dialect.KEY_DIALECTNAME, tbl_dialect.KEY_AUDIOFILE, tbl_dialect.KEY_MENUID }, tbl_dialect.KEY_DIALECTNAME + "='" + dialectname + "'", null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; }
- Java code
public int getAllDialect(String dialectname) { Cursor cursor = mDbHelper.fecth_menud(dialectname); return cursor.getColumnIndex("_id"); }
- Java code
DialectDao didao = new DialectDao(context); int dialectid = didao.getAllDialect(ti);
------解决方案--------------------
cursor.getint(cursor.getColumnIndex("_id"))
cursor.getColumnIndex("_id")所在列,_id 是0列,说以你取到的全是0