2016-03-07 2 views
1

Итак, я пытаюсь получить всю информацию, созданную мной в базе данных SQL, и отобразить ее в списке, но я сталкиваюсь с ошибкой «не могу разрешить символ TABLE_NAME», хотя он определен как открытый статический строка в верхней части страницы.Открытый курсор не может разрешить символ

public class database_helper extends SQLiteOpenHelper { 
public static final String DATABASE_NAME = "test.db"; 


public static final String COL_1 = "ID"; 
public static final String COL_2 = "NAME"; 
public static final String COL_3 = "LASTNAME"; 


@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS" + table); 
    onCreate(db); 
} 
+0

перестроить и повторить попытку. – ELITE

+0

p.s. ваш 'insert();' не будет работать, если вы не обернете его в транзакцию (и COMMIT транзакция). ваш код делает неявный ROLLBACK. –

+0

Вам нужно пространство между «DROP TABLE IF EXISTS» и именем вашей таблицы. (В настоящее время он будет расширяться до: «DROP TABLE IF EXISTSentries_table».) – callyalater

ответ

1

TABLE_NAME не является собственностью COL_1. Возможно, вы имели в виду

Cursor cursor = db.query(TABLE_NAME, projections, null, null, null, null, null); 
0

Вы пытаетесь получить доступ к COL_1.TABLE_NAME в качестве параметра для db.query(). Я предлагаю удалить COL_1..

0

необходимо создать таблицу.

просто так;

public class database_helper extends SQLiteOpenHelper { 
    public static final String DATABASE_NAME = "test.db"; 

    public static final String TABLE_NAME = "testtable"; 

    public static final String COL_1 = "ID"; 
    public static final String COL_2 = "NAME"; 
    public static final String COL_3 = "LASTNAME"; 
} 
Смежные вопросы