繁体   English   中英

Android Sqlite选择特定记录

[英]Android Sqlite Select particular record

我正在使用Android Sqlite做一些实验。 因此,基本上,我正在开发一个应用程序,该应用程序允许用户输入一些句子,并且该应用程序应显示歧义词(即具有多种含义的词)。 我有一张桌子tblWords(字段是:_id,单词,含义)在每个单词中,有两个含义,例如break

例如:

TblWords
_id单词的含义
1 BREAK某些突发事件会中断正在进行的活动
2 BREAK停止做某事(作为工作)

等等...

我想做的是,我希望应用程序在某些特定条件下仅显示第一条记录,否则显示第二条记录。 我怎样才能实现这样的目标? 我真的需要一些想法来帮助我入门。 任何帮助,我们都感激不尽。 并提出一些要考虑的问题。 再次感谢。

更新:

到目前为止,这是我尝试过的

DBHelper.class

  public Cursor getAllWords()
{ 
            return this.myDataBase.query(DB_TABLE, new String[] { 
                    KEY_ID, KEY_WORD, KEY_MEANING }, null, null, null, null, null);

}

MainActivity.class

ArrayList<String> colWords = new ArrayList<String>();
ArrayList<String> colMeanings = new ArrayList<String>();
String[] words;
String[] meanings;

    cursor = dbHelper.getAllWords();

    colWords.clear();///added code
    colMeanings.clear();///added code


    if (cursor != null) {
        if (cursor.moveToFirst()) {
            do {
                colWords.add(cursor.getString(1)); 
                colMeanings.add(cursor.getString(2));   
                String records = cursor.getString(0);

                Log.d("Records", records);
            } while (cursor.moveToNext());
        }
    }

获取2条记录并检查条件是否为true,则显示第一条记录,否则显示第二条记录

添加另一列,例如definition_number以使表如下所示:

_id 单词 definition_number的 含义

1 BREAK 1 第一个中断定义

2 BREAK 2 秒的中断定义

3继续1 继续的第一个定义

4 CONTINUE 2 第二个定义,用于继续

现在,如果您希望所有第一个定义都可以

this.myDataBase.query(DB_TABLE, new String[] {KEY_ID, KEY_WORD, KEY_MEANING}, 
       "defintion_number = 1", null, null, null, null) 

如果你想所有第二个定义

this.myDataBase.query(DB_TABLE, new String[] {KEY_ID, KEY_WORD, KEY_MEANING}, 
       "defintion_number = 2", null, null, null, null)

我要补充一点,即使它不能解决您的问题,您可能还要考虑将数据分为两个表WordsDefinitions ,然后适当地联接。 由于这是切线的,因此我将不做详细介绍,而是搜索模式规范化以获取有关您为什么要执行此操作的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM