Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQLiteException:编译时没有这样的列itemId:: 公共类列表SQLiteOpenHelper扩展了SQLiteOpenHelper{ 公共静态最终int版本=1; 公共静态最终字符串DB\u NAME=“lightsettings\u DB.sqlite”; 公共静态最终字符串项\u TABLE=“light\u setting\u ITEMS”; 公共静态最终字符串ITEM_ID=“itemId”; 公共静态最终字符串ITEM_TYPE=“itemType”; 公共静态最终字符串ITEM_VALUE=“itemValues”; 公共静态最终字符串项\u BUSTYPE=“itemBustype”; 公共静态最终字符串ITEM_LIGHTTYPE=“itemLighttype”; 公共静态最终字符串ITEM_SELECT=“itemSelected”; 公共列表SqliteOpenHelper(上下文){ super(上下文、数据库名称、null、版本); int i=0; int y=i; } @凌驾 public void onCreate(SQLiteDatabase db){ createTable(db); } @凌驾 public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){ } 受保护的void createTable(SQLiteDatabase db){ db.execSQL( “创建表格”+项目\表格+”(“+ ITEM_ID+“整数主键自动递增不为空,”+ 项目类型+文本+ 项目值+文本+ 项目类型+“文本,”+ 项目\u LIGHTTYPE+“文本,”+ 项目_选择+“文本”+ ");" ); } } 公共类EntryManagerApplication扩展了应用程序{ 私有ArrayList当前条目; 专用长线号=1; 专用数据库; @凌驾 public void onCreate(){ super.onCreate(); ListsSQLiteOpenHelper=新的ListsSQLiteOpenHelper(此); database=helper.getWritableDatabase(); if(currentEntries==null){ loadItems(); } } 私有void loadItems(){ currentEntries=新的ArrayList(); 游标itemscrsor=database.query( 表中的项目, 新字符串[]{ITEM_ID,ITEM_TYPE,ITEM_VALUE,ITEM_BUSTYPE,ITEM_LIGHTTYPE,ITEM_SELECT}, null,null,null,null,String.format(“%s,%s”,项选择,项类型)); itemscorsor.moveToFirst(); 条目e; 如果(!itemsCursor.isAfterLast()){ 做{ long id=itemsCursor.getLong(0); 字符串类型=itemsCursor.getString(1); 字符串值=itemsCursor.getString(2); String bustype=itemsCursor.getString(3); String lighttype=itemscrsor.getString(4); String boolvalue=itemsCursor.getString(5); 布尔选择=boolean.parseBoolean(布尔值); e=新条目(id、类型、值、bustype、lighttype); e、 setRowId(id); e、 选择(选择); 增加(e); }while(itemsursor.moveToNext()); } itemscrsor.close(); } 公共无效setCurrentEntries(ArrayList currentEntries){ this.currentEntries=currentEntries; } 公共ArrayList getCurrentEntries(){ 返回当前条目; } 公共作废补遗(条目e){ 断言(e!=null); 增加(e); } 公共长getLineNumber(){ 返回行号; } 公共无效设置行号(长行号){ this.lineNumber=行号; } }_Java_Android_Sqlite - Fatal编程技术网

Java SQLiteException:编译时没有这样的列itemId:: 公共类列表SQLiteOpenHelper扩展了SQLiteOpenHelper{ 公共静态最终int版本=1; 公共静态最终字符串DB\u NAME=“lightsettings\u DB.sqlite”; 公共静态最终字符串项\u TABLE=“light\u setting\u ITEMS”; 公共静态最终字符串ITEM_ID=“itemId”; 公共静态最终字符串ITEM_TYPE=“itemType”; 公共静态最终字符串ITEM_VALUE=“itemValues”; 公共静态最终字符串项\u BUSTYPE=“itemBustype”; 公共静态最终字符串ITEM_LIGHTTYPE=“itemLighttype”; 公共静态最终字符串ITEM_SELECT=“itemSelected”; 公共列表SqliteOpenHelper(上下文){ super(上下文、数据库名称、null、版本); int i=0; int y=i; } @凌驾 public void onCreate(SQLiteDatabase db){ createTable(db); } @凌驾 public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){ } 受保护的void createTable(SQLiteDatabase db){ db.execSQL( “创建表格”+项目\表格+”(“+ ITEM_ID+“整数主键自动递增不为空,”+ 项目类型+文本+ 项目值+文本+ 项目类型+“文本,”+ 项目\u LIGHTTYPE+“文本,”+ 项目_选择+“文本”+ ");" ); } } 公共类EntryManagerApplication扩展了应用程序{ 私有ArrayList当前条目; 专用长线号=1; 专用数据库; @凌驾 public void onCreate(){ super.onCreate(); ListsSQLiteOpenHelper=新的ListsSQLiteOpenHelper(此); database=helper.getWritableDatabase(); if(currentEntries==null){ loadItems(); } } 私有void loadItems(){ currentEntries=新的ArrayList(); 游标itemscrsor=database.query( 表中的项目, 新字符串[]{ITEM_ID,ITEM_TYPE,ITEM_VALUE,ITEM_BUSTYPE,ITEM_LIGHTTYPE,ITEM_SELECT}, null,null,null,null,String.format(“%s,%s”,项选择,项类型)); itemscorsor.moveToFirst(); 条目e; 如果(!itemsCursor.isAfterLast()){ 做{ long id=itemsCursor.getLong(0); 字符串类型=itemsCursor.getString(1); 字符串值=itemsCursor.getString(2); String bustype=itemsCursor.getString(3); String lighttype=itemscrsor.getString(4); String boolvalue=itemsCursor.getString(5); 布尔选择=boolean.parseBoolean(布尔值); e=新条目(id、类型、值、bustype、lighttype); e、 setRowId(id); e、 选择(选择); 增加(e); }while(itemsursor.moveToNext()); } itemscrsor.close(); } 公共无效setCurrentEntries(ArrayList currentEntries){ this.currentEntries=currentEntries; } 公共ArrayList getCurrentEntries(){ 返回当前条目; } 公共作废补遗(条目e){ 断言(e!=null); 增加(e); } 公共长getLineNumber(){ 返回行号; } 公共无效设置行号(长行号){ this.lineNumber=行号; } }

Java SQLiteException:编译时没有这样的列itemId:: 公共类列表SQLiteOpenHelper扩展了SQLiteOpenHelper{ 公共静态最终int版本=1; 公共静态最终字符串DB\u NAME=“lightsettings\u DB.sqlite”; 公共静态最终字符串项\u TABLE=“light\u setting\u ITEMS”; 公共静态最终字符串ITEM_ID=“itemId”; 公共静态最终字符串ITEM_TYPE=“itemType”; 公共静态最终字符串ITEM_VALUE=“itemValues”; 公共静态最终字符串项\u BUSTYPE=“itemBustype”; 公共静态最终字符串ITEM_LIGHTTYPE=“itemLighttype”; 公共静态最终字符串ITEM_SELECT=“itemSelected”; 公共列表SqliteOpenHelper(上下文){ super(上下文、数据库名称、null、版本); int i=0; int y=i; } @凌驾 public void onCreate(SQLiteDatabase db){ createTable(db); } @凌驾 public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){ } 受保护的void createTable(SQLiteDatabase db){ db.execSQL( “创建表格”+项目\表格+”(“+ ITEM_ID+“整数主键自动递增不为空,”+ 项目类型+文本+ 项目值+文本+ 项目类型+“文本,”+ 项目\u LIGHTTYPE+“文本,”+ 项目_选择+“文本”+ ");" ); } } 公共类EntryManagerApplication扩展了应用程序{ 私有ArrayList当前条目; 专用长线号=1; 专用数据库; @凌驾 public void onCreate(){ super.onCreate(); ListsSQLiteOpenHelper=新的ListsSQLiteOpenHelper(此); database=helper.getWritableDatabase(); if(currentEntries==null){ loadItems(); } } 私有void loadItems(){ currentEntries=新的ArrayList(); 游标itemscrsor=database.query( 表中的项目, 新字符串[]{ITEM_ID,ITEM_TYPE,ITEM_VALUE,ITEM_BUSTYPE,ITEM_LIGHTTYPE,ITEM_SELECT}, null,null,null,null,String.format(“%s,%s”,项选择,项类型)); itemscorsor.moveToFirst(); 条目e; 如果(!itemsCursor.isAfterLast()){ 做{ long id=itemsCursor.getLong(0); 字符串类型=itemsCursor.getString(1); 字符串值=itemsCursor.getString(2); String bustype=itemsCursor.getString(3); String lighttype=itemscrsor.getString(4); String boolvalue=itemsCursor.getString(5); 布尔选择=boolean.parseBoolean(布尔值); e=新条目(id、类型、值、bustype、lighttype); e、 setRowId(id); e、 选择(选择); 增加(e); }while(itemsursor.moveToNext()); } itemscrsor.close(); } 公共无效setCurrentEntries(ArrayList currentEntries){ this.currentEntries=currentEntries; } 公共ArrayList getCurrentEntries(){ 返回当前条目; } 公共作废补遗(条目e){ 断言(e!=null); 增加(e); } 公共长getLineNumber(){ 返回行号; } 公共无效设置行号(长行号){ this.lineNumber=行号; } },java,android,sqlite,Java,Android,Sqlite,当我试图运行这段代码时,我遇到了一个错误,我不知道,请帮助 android.database.sqlite.SQLiteException:没有这样的列:itemId:,编译时:选择itemId、itemType、itemValues、itemBustype、itemLighttype、itemSelected FROM light\u setting\u items ORDER BY itemSelected、itemType 您的CREATE TABLE命令不起作用,因为在结束)之前有一个逗

当我试图运行这段代码时,我遇到了一个错误,我不知道,请帮助

android.database.sqlite.SQLiteException:没有这样的列:itemId:,编译时:选择itemId、itemType、itemValues、itemBustype、itemLighttype、itemSelected FROM light\u setting\u items ORDER BY itemSelected、itemType


您的
CREATE TABLE
命令不起作用,因为在结束
之前有一个逗号

此外,
SQLiteOpenHelper
不会为现有数据库调用
onCreate
方法;您必须增加
版本
,并对
onUpdate
方法进行必要的更改。
或者,删除并重新安装您的应用程序。

非常感谢;我删除并重新安装了应用程序,然后它运行了
public class ListsSQLiteOpenHelper extends SQLiteOpenHelper {

public static final int VERSION = 1;
public static final String DB_NAME  = "lightsettings_db.sqlite";
public static final String ITEMS_TABLE  = "light_setting_items";
public static final String ITEM_ID = "itemId";
public static final String ITEM_TYPE = "itemType";
public static final String ITEM_VALUE = "itemValues";
public static final String ITEM_BUSTYPE = "itemBustype";
public static final String ITEM_LIGHTTYPE = "itemLighttype";
public static final String ITEM_SELECT  = "itemSelected";

public ListsSQLiteOpenHelper(Context context) {
    super(context, DB_NAME, null, VERSION);
    int i=0;
    int y=i;
}

@Override
public void onCreate(SQLiteDatabase db) {
    createTable(db);
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}


protected void createTable(SQLiteDatabase db) {
    db.execSQL(
            "create table " + ITEMS_TABLE +" (" +
            ITEM_ID + " integer primary key autoincrement not null, " +
            ITEM_TYPE + " text," +
            ITEM_VALUE + " text," +
            ITEM_BUSTYPE + " text," +
            ITEM_LIGHTTYPE + " text," +
            ITEM_SELECT + " text" +
            ");"
        );
}
}


public class EntryManagerApplication extends Application {

private ArrayList<Entry> currentEntries;

private long lineNumber = 1;

private SQLiteDatabase database;

@Override
public void onCreate() {
    super.onCreate();
    ListsSQLiteOpenHelper helper = new ListsSQLiteOpenHelper(this);
    database = helper.getWritableDatabase();
    if(currentEntries == null){
        loadItems();
    }
}

private void loadItems() {
    currentEntries = new ArrayList<Entry>();

    Cursor itemsCursor = database.query(
            ITEMS_TABLE,
            new String[] {ITEM_ID, ITEM_TYPE, ITEM_VALUE, ITEM_BUSTYPE, ITEM_LIGHTTYPE, ITEM_SELECT},
            null, null, null, null, String.format("%s,%s", ITEM_SELECT, ITEM_TYPE));

    itemsCursor.moveToFirst();
    Entry e;
    if(!itemsCursor.isAfterLast()){
        do{
            long id = itemsCursor.getLong(0);
            String type = itemsCursor.getString(1);
            String values = itemsCursor.getString(2);
            String bustype = itemsCursor.getString(3);
            String lighttype = itemsCursor.getString(4);
            String boolvalue = itemsCursor.getString(5);
            boolean select = Boolean.parseBoolean(boolvalue);
            e = new Entry(id, type, values, bustype, lighttype);
            e.setRowId(id);
            e.setSelected(select);
            currentEntries.add(e);
        } while(itemsCursor.moveToNext());
    }

    itemsCursor.close();
}

public void setCurrentEntries(ArrayList<Entry> currentEntries){
    this.currentEntries = currentEntries;
}

public ArrayList<Entry> getCurrentEntries(){
    return currentEntries;
}

public void addEntry(Entry e){
    assert(e!= null);
    currentEntries.add(e);
}

public long getLineNumber() {
    return lineNumber;
}

public void setLineNumber(long lineNumber) {
    this.lineNumber = lineNumber;
}
}