找到了10个以上“游标”的教程,但我无法理解。 我的问题是:如何从数据库中读取数据?
例如: 数据库名称:Test_Database 表名:tbl_users 它有两列:id,user_name
现在我想读取id为3的user_name ==> SELECT user_name FROM tbl_useres WHERE id = 3
如何将其提供给TextView,Toast或Alert?
答案 0 :(得分:1)
实现这一目标的最佳方式(至少我的意见)是创建自定义SqliteDatabaseHelper
,您可以创建这样的函数:
public Cursor executeSQLQuery(String query){
Cursor c = sqliteDb.rawQuery(query,null); // private static SQLiteDatabase sqliteDb;
return c;
}
返回Cursor
,之后您可以使用此游标,如:
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
从数据库中获取数据的方式。
希望它有所帮助。
答案 1 :(得分:0)
一种方法是,在SQLLiteOpenHelper的帮助下,首先需要获取对数据库的引用。然后在您的数据库上进行查询或rawQuery。使用rawQuery时,您可以直接发布您输入的查询。如果使用查询,则将使用android内置API构造以创建相同的查询。以下是示例using sqllite openhelper。
您引用的Cursor是指向查询接收的数据的指针,迭代游标将允许您访问数据库的每个行表示。
答案 2 :(得分:0)