我数据库用户表里有好几条登录帐号信息。为什么下面的代码只能读出最后一条信息做登录判定啊。
是读取数据的哪个环节出错了吗?public void onClick(View v) {
String username = null;
                String passwprd = null;
SqliteOpenHelper1 sqliteOpenHelper = new SqliteOpenHelper1(
MainActivity.this, "login.db");
SQLiteDatabase db = sqliteOpenHelper.getReadableDatabase();
  Cursor cursor = db.query("user", new String[] { "username", "password" }, null, null, null, null, null);
while (cursor.moveToNext()) {
username = cursor.getString(cursor.getColumnIndex("username"));
 password= cursor.getString(cursor.getColumnIndex("password"));
}
EditText zhanghao = (EditText) findViewById(R.id.zhanghao);
EditText mima = (EditText) findViewById(R.id.mima);
String mima1 = mima.getText().toString();
String zhanghao1 = zhanghao.getText().toString();
if (zhanghao1.equals(username)&&mima1.equals(password)) {
Intent intent = new Intent(this, Main.class);
startActivity(intent);
} else {
Intent intent2 = new Intent(this, Error.class);
startActivity(intent2);
} }
}

解决方案 »

  1.   

    是读取数据的时候有问题,你读到的用户名和密码应该用list存起来,你现在的做法是一直更新,用户名和密码记录的是最后一条数据的。
      

  2.   

    username = cursor.getString(cursor.getColumnIndex("username"));
      password= cursor.getString(cursor.getColumnIndex("password"));每次循环会把上一次的覆盖了啊
      

  3.   

    楼上说的正确,数据都被最后一次覆盖了。得用个list
      

  4.   

    username = cursor.getString(cursor.getColumnIndex("username"));
     password= cursor.getString(cursor.getColumnIndex("password"));