Как искать в базе данных SQLite, используя строковую переменную, а не целое число? - PullRequest
1 голос
/ 06 января 2012

Часть моего приложения заключается в получении информации об учетной записи пользователя из динамической базы данных.Когда пользователь вводит свое имя пользователя и пароль, я буду искать имя пользователя в базе данных и выводить все данные, связанные с его именем пользователя.Я использую getTwitterAccount для поиска, и мой первичный ключ - строка "TW_USERNAME".Вот часть кода базы данных:

public String[] getTwitterAccount(String username) {
    Cursor cursor = db.query(true, TABLE_1, null, TW_USERNAME + "=" + username, null, null, null, null, null);


    if ((cursor.getCount() == 0) || !cursor.moveToFirst()) {
        return null;
    }

    String[] account = new String[3]; 
    account[0] = cursor.getString(cursor.getColumnIndex(TW_USERNAME));
    account[1] = cursor.getString(cursor.getColumnIndex(TW_AUTH_KEY));
    account[2] = cursor.getString(cursor.getColumnIndex(TW_AUTH_SECRET_KEY));

    return account;
}  

Я получил ошибку в запросе.Я искал эту проблему, и они сказали "Первичный ключ должен быть целым числом" _id ". Есть ли в любом случае для поиска в базе данных, используя строку, а не целое?

1 Ответ

5 голосов
/ 06 января 2012

попробуйте это: TW_USERNAME + "= '" + username + "'" Ваш входной параметр должен быть в одинарных кавычках, если это String.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...