检索变量中的列数据时出现光标索引错误

时间:2015-12-17 18:25:23

标签: android sqlite android-studio

当我成功登录我的应用程序并在我的家庭活动中显示时,我试图从数据库表中检索username。我试图通过光标这样做,但我没有检索列数据。任何建议或帮助请。

登录功能

public String loginUsers(String email,String pwd)
{
Cursor mCursor = database.rawQuery("SELECT * FROM " + DatabaseWrapper.FUNTUBE + " WHERE _email=? AND _password=?", new String[]{email,pwd});
 if (mCursor != null) {
 if(mCursor.getCount() > 0)
 {
 String name= mCursor.getString(mCursor.getColumnIndex("_username"));
 mCursor.close();
 return name;
 }
 }
 return null;
 }

Login.java

 String user=  FunTubeDBOperations.loginUsers(em, pwd);
 if(true){
 Toast.makeText(getApplicationContext(), "Login successfully!!", Toast.LENGTH_LONG).show();
 Intent intent = new Intent(login.this, home.class);
 intent.putExtra("name", user);
 startActivity(intent);
 finish();
 }

1 个答案:

答案 0 :(得分:1)

下面:

String user=  FunTubeDBOperations.loginUsers(em, pwd);
 if(true){
    //....    
  }

如果用户在db中找到loginUsers值而不是String,则null方法返回boolean。因此,要检查登录是否有效,请检查user的{​​{1}}值:

null