public int getUserCred(User user){
database = opener.getReadableDatabase();
String first = user.getFirst();
String pass = user.getPassword();
String[] cols = {COL_FIRST, COL_PASS};
userCursor = database.query(TABLE_USER, cols, null, null, null, null, null);
if(userCursor != null & userCursor.moveToFirst()) {
String firstName = userCursor.getString(userCursor.getColumnIndex(COL_FIRST));
String password = userCursor.getString(userCursor.getColumnIndex(COL_PASS));
if(first.equals(firstName) & pass.equals(password)){
return User.CRED_CORRECT;
}
}
database.close();
userCursor.close();
return User.CRED_INCORRECT;
}
Есть мой код, как сейчас, хотя на меня набрасывается illegalStateException
, говоря, что он не может получить доступ к строке 0 col -1. Теперь я знаю, что данные хранятся в курсоре, потому что cursor.getString(0)
и cursor.getString(1)
возвращают данные, но с использованием cursor.getColumnIndex(COL_(FIRST/PASS))
продолжает поднимать исключение.любая идея, почему мой getColumnIndex() возвращает -1 через android?
Может кто-нибудь, пожалуйста, объясните мне, почему он делает это со мной? Первоначально я придерживался всех инструкций схемы SQLITE в интерфейсе, что, по моему мнению, вызывало проблему по какой-то причине, но затем, помещая их в вложенный класс, вызвало одно и то же исключение, поэтому я решил сделать их переменными класса в моем подклассе SQLiteOpenHelper. Тем не менее, это все еще не изменило мою ситуацию getColumnIndex()
, которую я получил. Итак, если кто-то может указать мне в правильном направлении, я был бы чрезвычайно благодарен!
Каковы значения 'COL_FIRST' и' COL_PASS'? – dave
@dave COL_FIRST = "FIRSTNAME" COL_PASS = "PASSWORD"; с ведущими пробелами. – 3alto
Не могли бы вы назвать имена столбцов в таблице 'TABLE_USER'? Кажется, что 'COL_FIRST' и' COL_PASS' не соответствуют этим столбцам в таблице. – shhp