根据两个不同的ID获取记录

罗伯特·沃格

当我只有一个要搜索的ID时,我已经能够从SQLite数据库获取记录。例如,我已经将我的联赛ID传递给了礼帽,并且列出了与此ID相关的所有礼帽。现在,当我为此常礼帽创建系列赛时,我要将联赛ID和常礼帽ID传递到系列表,以确保我只得到某个联赛中属于该礼帽的系列赛。

为了列出圆顶硬礼帽,我使用了以下代码;

public Bowler getBowler(String leagueId) {
        //Get Readable Database If We Are Not Inserting Anything
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.query(Bowler.TABLE_NAME,
                new String[]{Bowler.COLUMN_ID, Bowler.COLUMN_LEAGUE_ID, Bowler.COLUMN_NAME, Bowler.COLUMN_TIMESTAMP},
                Bowler.COLUMN_LEAGUE_ID + "=?",
                new String[]{String.valueOf(leagueId)}, null, null, null, null);

        if (cursor != null)
            cursor.moveToFirst();

        //Prepare Bowler Object
        Bowler bowler = new Bowler(
                cursor.getInt(cursor.getColumnIndex(Bowler.COLUMN_ID)),
                cursor.getString(cursor.getColumnIndex(Bowler.COLUMN_LEAGUE_ID)),
                cursor.getString(cursor.getColumnIndex(Bowler.COLUMN_NAME)),
                cursor.getString(cursor.getColumnIndex(Bowler.COLUMN_TIMESTAMP)));

        //Close Database Connection
        cursor.close();

        return bowler;
    }

为了列出保龄球系列赛,我尝试了以下方法;

public Series getSeries(String leagueId, String bowlerId) {
        //Get Readable Database If We Are Not Inserting Anything
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor cursor = db.query( Series.TABLE_NAME,
                new String[]{Series.COLUMN_ID, Series.COLUMN_LEAGUE_ID, Series.COLUMN_BOWLER_ID, Series.COLUMN_NAME, Series.COLUMN_SERIES_AVERAGE, Series.COLUMN_TIMESTAMP},
                Series.COLUMN_LEAGUE_ID + Series.COLUMN_BOWLER_ID + "=?",
                new String[]{String.valueOf(leagueId)}, null, null, null, null)
                new String[]{String.valueOf(bowlerId)}, null, null, null, null);

        if (cursor != null)
            cursor.moveToFirst();

        //Prepare Bowler Object
        Series series = new Series(
                cursor.getInt(cursor.getColumnIndex(Series.COLUMN_ID)),
                cursor.getString(cursor.getColumnIndex(Series.COLUMN_LEAGUE_ID)),
                cursor.getString(cursor.getColumnIndex(Series.COLUMN_BOWLER_ID)),
                cursor.getString(cursor.getColumnIndex(Series.COLUMN_NAME)),
                cursor.getString(cursor.getColumnIndex(Series.COLUMN_SERIES_AVERAGE)),
                cursor.getString(cursor.getColumnIndex(Series.COLUMN_TIMESTAMP)));

        //Close Database Connection
        cursor.close();

        return series;
    }

我知道这是不正确的,而且我不知道如何正确地格式化。

我不确定这是否是正确的方法,或者是否有另一种方法可以完成同一件事,这可能会更容易。

吉加斯洛斯

您的选择查询似乎不正确。您试图从两个单独的列中进行选择。

您有:“ WHERE series_idbowler_id =?”

它看起来像是您想要的是“” WHERE series_id =?AND bowler_id =?”

尝试像这样格式化查询:

db.query( Series.TABLE_NAME,
            new String[]{Series.COLUMN_ID, Series.COLUMN_LEAGUE_ID, Series.COLUMN_BOWLER_ID, Series.COLUMN_NAME, Series.COLUMN_SERIES_AVERAGE, Series.COLUMN_TIMESTAMP},
            Series.COLUMN_LEAGUE_ID + "=?" + " AND " +  Series.COLUMN_BOWLER_ID + "=?",
            new String[]{String.valueOf(leagueId), String.valueOf(bowlerId)}, null, null, null, null);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果两个条件在子记录的不同行上匹配,则高级MySQL查询可获取主记录

MySQL在两个表之间获取不同的记录

Linq,基于2个不同的ID从一个表中选择两个记录

根据两个不同的ID合并行

MongoDB如何从猫鼬的两个不同的集合中获取所有匹配的记录

如何从mongo中的两个不同集合中获取匹配的记录

mongo->如何从两个不同的集合中按datetime desc顺序获取记录

根据两个条件,为每个唯一ID返回多个COUNT字段,以获取不同的值

根据两个不同的ID连接两行

根据两个不同的ID对表进行批量更新

获取与两个fastq文件不同的记录

EF6获取记录,其中来自两个不同表的信息等于x

Codeigniter活动记录从两个不同的列值获取行

SQL查询从两个表中获取不同的记录

如何从laravel5.2中的两个不同表中获取记录

根据同一张表中的两个键获取记录数组

如何从前50个记录“ ORDER BY id DESC”中仅基于“日期”获取两个最旧的记录

根据两个表上的值获取不同的数据集

如何从两个不同的表中获取记录

需要根据记录 id 合并来自两个 xml 文件的数据

从两个不同的表中选择数据时获取重复值同时覆盖不同的记录

如何根据匹配的 id 加入两个 SQL 表以获取特定的附加数据

如何根据两个不同的字段获取一个字段的值

如何选择具有两个不同记录的ID?

根据两个字段获取最新记录

根据存储在不同表中的 ID 选择两个名称

如何根据两个不同列的日期获取交叉连接表的唯一记录?

根据两个不同列的日期获取交叉连接表的唯一记录时,如何提高逻辑的速度/内存?

根据两个日期之间不同日期的记录数进行查询