我不明白为什么会出现错误

时间:2015-08-26 06:05:57

标签: android android-sqlite

我想通过输入用户来匹配密码到数据库基本密码。任何人请帮帮我。我很累。

Adapter.java

if

Login.java   此类中出现错误,告诉您创建变量dpassword。

    public Cursor getUserInfo(long rowId) throws SQLException
         {

             Cursor mCursor =
                     db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,
                     KEY_FULLNAME, KEY_EMAILID, KEY_PASSWORD}, KEY_ROWID + "=" + rowId , null,
                     null, null, null, null);
                     if (mCursor.getCount()<1) { 
                         return mCursor;
                     }
                     mCursor.moveToNext();
                     String dpassword = mCursor.getString(mCursor.getColumnIndex("PASSWORD")); 
                     return  mCursor;

                     }

2 个答案:

答案 0 :(得分:1)

您的代码行:

String storedPassword = databaseAdapter.getUserInfo(dpassword);

不正确。您没有名为dpassword的变量,因此无法使用该名称。这就是您收到所描述的错误消息的原因。

答案 1 :(得分:0)

尝试Lik this,它将解决您的问题

调用方法

String storedPassword = DB.getSingleEntry(email);

您的数据库方法

//checking email to Corresponding password
public  String getSingleEntry(String email)
{
    Cursor cursor=database.query(DataBaseConnector.TABLE_NAME, null, " email=?", new String[]{email}, null, null, null);
    if(cursor.getCount()<1) // Email Not Exist
    {
        cursor.close();
        return "NOT EXIST";
    }
    cursor.moveToFirst();
    String password= cursor.getString(cursor.getColumnIndex("Password"));
    cursor.close();
    return password;                
}