Android 我不明白为什么会出现错误
我想通过输入用户到数据库的基本密码来匹配密码。请任何人帮助我。我很累 Adapter.javaAndroid 我不明白为什么会出现错误,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,
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);