Android使用SQLite数据库,使用游标Cursor对于数据库查询结果进行处理。
Cursor是每行的集合,当我们使用 SQLiteDatabase.query()方法时,就会得到Cursor对象, Cursor所指向的就是每一条数据。
Cursor有以下方法:
关于 Cursor 的重要方法:
·close() 关闭游标,释放资源
·copyStringToBuffer(int columnIndex, CharArrayBuffer buffer) 在缓冲区中检索请求的列的文本,将将其存储
·getColumnCount()——返回所有列的总数
·getColumnIndex(String columnName) 返回指定列的名称,如果不存在返回-1
·getColumnIndexOrThrow(String columnName) 从零开始返回指定列名称,如果不存在将抛出IllegalArgumentException
·getColumnName(int columnIndex) 从给定的索引返回列名
·getColumnNames() 返回一个字符串数组的列名
·getCount() 返回Cursor 中的行数
·moveToFirst() 移动光标到第一行
·moveToLast() 移动光标到最后一行
·moveToNext() 移动光标到下一行
·moveToPosition(int position) 移动光标到一个绝对的位置
·moveToPrevious() 移动光标到上一行
使用实例:
Cursor cursor; //新建Cursor对象
//获取database对象,调用query查询方法,从表单operator中查询所有用户名这一列的所有数据,生成对应的Cursor
cursor = mApplication.getDatabase().query("select username from operator ");
cursor.moveToPosition(-1); //将cursor移动到-1的位置进行初始化
while (cursor.moveToNext()) //每次让cursor向下移动一行,当cursor移动到表单结尾时,循环结束
{
//获取cursor第0列的信息,也就是每一行的用户名信息,判断是否和编辑框输入的用户名相同
if (cursor.getString(0).equals(oper.getText().toString()))
{
//如果表单中存在该用户名就标志这个flag为true,并退出循环
userExist = true;
break;
}
}