2016-03-07 42 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();'不会工作,除非你把它包装在一个事务中(并且提交事务)。你的代码做了一个隐式的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"; 
}