Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我不明白为什么会出现错误_Android_Android Sqlite - Fatal编程技术网

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

Android 我不明白为什么会出现错误,android,android-sqlite,Android,Android Sqlite,我想通过输入用户到数据库的基本密码来匹配密码。请任何人帮助我。我很累 Adapter.java public Cursor getUserInfo(long rowId) throws SQLException { Cursor mCursor = db.query(true, DATABASE_TABLE, new String[] {KEY_ROWID,

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

Adapter.java

    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;

                     }

像这样试试,它会解决你的问题

调用方法

您的数据库方法

您的代码行:

String storedPassword = databaseAdapter.getUserInfo(dpassword);

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

您的问题是什么???您试图使用名为dpassword的变量,但您尚未使用该名称定义任何变量,而不是使用mCursor.moveToNext;使用mCursor.moveToFirst;你的代码可以编译吗???getUserInfo返回游标,但您尝试在代码中获取字符串。将返回值更改为String.yes Kuffs,该值显示无法将变量解析为dpassword。如果出现错误,我会在我的应用程序中使用此代码
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;                
}
String storedPassword = databaseAdapter.getUserInfo(dpassword);