0

データベース内のデータの 1 つの文字列値をトースト内に表示したいと考えています。これが私がこれまでに試したことです。

これが私の主な活動です:

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();

あなたのアプリが再びクラッシュしないことを願っています。私はこの解決策から私の問題を解決します.Thanks

于 2016-02-20T10:35:14.963 に答える