0

我想在 toast 中显示我的数据库中我的一个数据的字符串值。这是我到目前为止所尝试的。

这是我的主要活动:

Button btnShow = (Button)findViewById(R.id.btnShow);
    btnShow.setOnClickListener(new OnClickListener(){

     @Override  
        public void onClick(View v) {  
            DBUser dbUser = new DBUser(EditUserActivity.this);  
            dbUser.newNumber();
            //get the new value of the number from the DB
            Cursor c = dbUser.newNumber();
            String numberRetrieved = c.getString(c.getColumnIndex("number")).toString();
            Toast.makeText(EditUserActivity.this,"Current Modem No. is:" + numberRetrieved, Toast.LENGTH_LONG).show();
            c.close();
            dbUser.close();
     }
   });

这是我在数据库类中的方法:

 public Cursor newNumber() {

    String query = "SELECT * FROM " + DATABASE_TABLE + " WHERE _id=1";
    System.out.println(query);
     Cursor cur = db.rawQuery(query, null);
     cur.moveToFirst();
     return cur;

   }

只是为了让您知道我的数据库存在并且其中肯定有一些值。但是每当我运行这段代码时,我的应用程序总是强制关闭!希望任何人都可以帮助我。谢谢!

4

1 回答 1

0
public static final String COL_2 = "DRIVERNO";

请确保您的列是这样的,然后将COL_2DRIVERNO放入c.getColumnIndex("DRIVERNO") 像这样

String numberRetrieved = c.getString(c.getColumnIndex("DRIVERNO")).toString();

我希望您的应用不会再次崩溃我会从这个解决方案中解决我的问题。谢谢

于 2016-02-20T10:35:14.963 回答