java - 为什么在数据库 android 中进行查询后调用 moveToFirst()

标签 java android database sqlite

我正在学习 android 中的 sqlite。今天我遇到了一个代码,用于在数据库中查找特定条目并将其返回(用于显示给用户)。我对代码中发生的事情有点困惑。程序员首先调用查询方法,然后将光标移动到第一行。

他为什么调用 moveTofirst() 方法?此方法不会将游标放在数据库的开头,从而导致查询方法返回的内容丢失。

Cursor c = database.query(TABLE_NAME,columns, NAME_COL+ "="+ findname, null,null,null,null);

if(c!=null)
{
   c.moveToFirst();
   name= c.getString(1);
   return name;
}

问候。

最佳答案

没有。根据文档, moveToFirst() 的描述是

Move the cursor to the first row.

所以基本上,您将游标设置为结果的第一行(而不是表本身),因为游标仅包含与您的查询匹配的行,而不是表中的所有行(除非您查询它们).

关于java - 为什么在数据库 android 中进行查询后调用 moveToFirst(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17320198/

相关文章:

java - 有没有更好的方法来添加多个模拟交互?

android - 如何在 Android 中显示动画弹出窗口

database - CREATE DATABASE 的 Linq to Sql ExecuteCommand

php - MySQL表组织进行多维分类

Android:为什么 BufferedReader 读取 EOF?

ruby-on-rails - 版本控制轨和数据库,从哪里开始?

Java:将文件内容放入 vector 中

java - 在具有多个对象属性的列表中搜索对象

Java 泛型工厂模式

android - 带有 fragment 的后退导航 WebView