我正在创建应用程序,其中我注册用户并将用户的信息存储在数据库中,所以我在数据库中创建了数据库和存储值,但我不知道如何从数据库中获取数据并在textview中显示?使用以下查询获取数据,但它有错误。什么是正确的方法?
public void insertEntry(String fname, String lname, String gen,String weight)
{
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("firstname", fname);
values.put("lastname", lname);
values.put("gender", gen);
values.put("weight",weight);
}
public Cursor fetchData()
{
SQLiteDatabase mDB = dbHelper.getWritableDatabase();
return mDB.rawQuery("SELECT * FROM Register WHERE firstname=? lastname =?" , null);
}
使用此方法在不同活动的textview上设置提取的值
Cursor name = sqliteDataBase.fetchData();
tv_name.setText((CharSequence) name);
答案 0 :(得分:1)
试试这个,
try {
SQLiteDatabase mDB = dbHelper.getReadableDatabase();
String selectQuery = "SELECT * FROM Register WHERE firstname= "+first+" lastname =" + last + ";";
cursor = db.rawQuery(selectQuery, null);
if (cursor != null && cursor.getCount() > 0) {
if (cursor.moveToFirst()) {
String firstName = cursor.getString(cursor.getColumnIndex("firstname")));
}
}
} catch(Exception e) {
e.printSTackTrace();
} finally {
if (cursor != null) {
cursor.close();
}
}
答案 1 :(得分:0)
public String fecthResults()
{
String name = null;
SQLiteDatabase sqLiteDatabase = getReadableDatabase();
Cursor cursor = sqLiteDatabase.query(TABLE_NAME, null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
name = cursor.getString(cursor.getColumnIndex("firstname")
} while (cursor.moveToNext());
cursor.close();
}
sqLiteDatabase.close();
return name;
获取名称,然后将其直接设置为texView
答案 2 :(得分:0)
Cursor
是一个接口,提供对查询返回的结果集的随机读写访问。它包含多行数据,这些数据可以通过For
循环的帮助轻松处理。
让我们举一个例子来理解这个过程。假设您需要访问列名称中的数据" col_1"并在TextView
中显示数据。该过程的For
循环如下。
for (cursor.moveToNext()) {
textView.setText(cursor.getString(cursor.getColumnIndex("col_1")));
}
现在,如果我们只需要一个值(仅来自一个记录或元组),那么我们可以选择退出For
循环并更改代码,如下所示。
if (cursor.moveToFirst()) {
textView.setText(cursor.getString(cursor.getColumnIndex("col_1")));
}
请务必在使用光标后关闭光标。
要关闭光标,请使用以下代码行。
cursor.close();
有关详细信息,请访问以下链接:
https://developer.android.com/reference/android/database/Cursor.html
https://developer.android.com/training/basics/data-storage/databases.html#ReadDbRow