小编man*_*uss的帖子

从android中的SQLite中获取单个值

我正在为Android开发我的第一个应用程序,我正在使用多个表来获取和插入数据.在开发过程中发现自己从表中获取数据只有两列STATS(_id, stat_name).我的问题是什么?我有一个包含10个按钮的活动,每个按钮与一个按钮相关联stat_name.当用户按下其中一个按钮时,应用程序"正在"到STATS表中以获得正确_id,然后将其输入_id到另一个表GAME_STATS(_id, PlayerId (fk), GameId(fk), StatsId(fk)(andmore))STATS._id = GAME_STATS.StatsId,我基本上必须执行类似的操作PlayerId.

现在,我这样做:

public String getStatId(String statName){
    String statId = "Error";
    Cursor c = mDb.query(STAT_TABLE, new String[] {AbstractDbAdapter.STAT_ID, AbstractDbAdapter.STAT_NAME}, AbstractDbAdapter.STAT_NAME+ " = " +statName, null, null, null, null);
    int count = c.getCount();
    if(count == 1){
        c.moveToFirst();
        statId = c.getString(c.getColumnIndex(AbstractDbAdapter.STAT_ID));
    }
    c.close();
    mDb.close();
    Log.d("FootballApp","StatId =" +statId);
    return statId;      
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,我知道应该只返回一个值,而且我仍然需要使用Cursor来执行此操作.此外,在我看来,它看起来复杂和耗时,写所有代码只是为了从一个表中获取一个id.我的应用程序中有9个表,每当我需要来自不同表的_id时,我必须编写类似的方法,例如,我只有名称.

有人能告诉我是否有更简单的方法来做所有这些?请:)谢谢!:)

java sqlite android multiple-tables

6
推荐指数
2
解决办法
8911
查看次数

标签 统计

android ×1

java ×1

multiple-tables ×1

sqlite ×1