Вывод базы данных в EditText - PullRequest
1 голос
/ 19 октября 2019

Я хочу получить идентификатор из базы данных, где name = saqib, в EditText (текстовое поле) в Android, я пробовал разные способы, но не могу достичь желаемого результата, вместо этого каждый раз будет отображаться данный вывод. вывод

onButtonClick:

final EditText i=(EditText)findViewById(R.id.id_etxt);

    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Cursor res= mydatabase.fet();
            i.setText(res.toString());


        }
    });

Database.java класс

public Cursor fet(){
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor res=db.rawQuery("select ID from record where Name=?",new String[] {"saqib"});
    return res;
}

Ответы [ 2 ]

0 голосов
/ 21 октября 2019
Cursor res = mydatabase.fet();
if (res.getCount() > 0) {
    res.moveToFirst();
    i.setText(res.getString(0));
} else {
    throw new SQLiteException("e");
}
0 голосов
/ 19 октября 2019

В настоящее время вы устанавливаете целое Cursor как строку в EditText, что является неправильным способом установки ID .

Вы должны извлечь ID из Cursor как показано ниже, чтобы использовать его в EditText:

public void onClick(View v) {
    Cursor res = mydatabase.fet();

    if(res != null && res.moveToFirst()) {
        String id = Integer.toString(res.getInt(res.getColumnIndex("ID")));
        i.setText(id);
    }
}
...