Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何读取SQLite数据库?_Android_Database_Sqlite - Fatal编程技术网

Android 如何读取SQLite数据库?

Android 如何读取SQLite数据库?,android,database,sqlite,Android,Database,Sqlite,找到了10多个关于“游标”的教程,但我不明白。 我的问题是:如何从数据库中读取数据 例如: 数据库名称:Test_数据库 表名:tbl_用户 其中有两列:id、用户名 现在我喜欢读id为3的用户名 ==>从id=3的tbl_用户中选择用户名 如何将其发送给TextView、Toast或Alert?一种方法是,在SQLLiteOpenHelper的帮助下,首先需要获取对数据库的引用。然后对数据库进行查询或查询。使用rawQuery时,您可以直接发布您在问题中键入的查询。如果您使用query,您将使

找到了10多个关于“游标”的教程,但我不明白。 我的问题是:如何从数据库中读取数据

例如: 数据库名称:Test_数据库 表名:tbl_用户 其中有两列:id、用户名

现在我喜欢读id为3的用户名 ==>从id=3的tbl_用户中选择用户名


如何将其发送给TextView、Toast或Alert?

一种方法是,在SQLLiteOpenHelper的帮助下,首先需要获取对数据库的引用。然后对数据库进行查询或查询。使用rawQuery时,您可以直接发布您在问题中键入的查询。如果您使用query,您将使用android内置API来构造以创建相同的查询。下面是一个示例


您所指的光标是指向查询接收到的数据的指针,迭代光标将允许您访问数据库的每一行表示形式。

实现这一点的最佳方法(至少在我看来)是创建自定义的
SqliteDatabaseHelper
,您可以创建如下函数:

public Cursor executeSQLQuery(String query){
    Cursor c = sqliteDb.rawQuery(query,null); // private static  SQLiteDatabase sqliteDb; 
    return c;
}
返回
光标
,然后您可以像这样使用此光标:

CustomDatabaseHelper dbHelper = new CustomDatabaseHelper(params...);
String sql = "SELECT name FROM cards WHERE id=2";
Cursor cursor = dbHelper.executeSQLQuery(sql);
if(cursor.getCount()==0){
  // do something when you don't have any data, show message or something like this
} else if(cursor.getCount()>0){
    for(cursor.move(0); cursor.moveToNext(); cursor.isAfterLast()){
       String getName = cursor.getString(cursor.getColumnIndex("name"));
    }
}
这至少是我使用
Cursor
从数据库获取数据的方式


希望对您有所帮助。

请浏览以下链接,了解详细信息和简单的示例


Android中SQLite数据库中的数据

好的,我明天会试试。lol Android比PHP xDIt工作时要重得多!非常感谢:)谢谢Anuja。插入、更新和删除都没有问题。我只是不明白它是如何使用游标的。但现在我知道了。@Marco,欢迎你:-)