2

I have the below method that when executed gives the error:

11-09 12:11:17.578: E/AndroidRuntime(21018): Caused by: android.database.sqlite.SQLiteException: no such column: happy (code 1): , while compiling: select * from Bank where english = happy

The method is:

public boolean BankHas(Word currentWord) {
        openDataBase();
        Cursor cursor = myDataBase.rawQuery("select * from Bank where english = " + currentWord.english, null); 
        return cursor.moveToFirst();
    }

My table scheme:

CREATE TABLE `Bank` (
    `english`   TEXT
);

1 Answer 1

8

you missed single quote,so change

"select * from Bank where english = " + currentWord.english

to

"select * from Bank where english ='" + currentWord.english + "'"

Or recommended solution is to use parameterized query as

Cursor cursor = myDataBase.rawQuery("select * from Bank where english =? ", new String [] {currentWord.english});

And change your create table from

CREATE TABLE `Bank` (
    `english`   TEXT
);

to

CREATE TABLE Bank (
    english TEXT
);
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.