2017-10-05 76 views
1

我的代码在sqlite中总是得到一个语法异常。 它始终在DatabaseHelper的onCreate中突出显示。 而错误可能在创建表“订单”。android.database.sqlite.SQLiteException:在“Order”附近:语法错误(代码1):

我正在使用Android Studio并通过在listview中通过适配器填充类来开发订购系统。

这是我的代码:

package com.example.lenovot420.yumburgers; 

import android.content.Context; 
import android.database.sqlite.SQLiteDatabase; 
import android.database.sqlite.SQLiteOpenHelper; 

/** 
* Created by lenovot420 on 9/24/2017. 
*/ 

public class DatabaseHelper extends SQLiteOpenHelper { 

//version number to upgrade database version 
//each time if you Add, Edit table, you need to change the 
//version number. 
private static final int DATABASE_VERSION = 1; 

// Database Name 
private static final String DATABASE_NAME = "JollibeeOrder.db"; 

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, DATABASE_VERSION); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    //All necessary tables you like to create will create here 

    String CREATE_TABLE_ORDER = "CREATE TABLE " + Order.TABLE + " (" 
      + Order.KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " 
      + Order.KEY_ORDER_NAME + " TEXT, " 
      + Order.KEY_ORDER_EXTRA + " TEXT, " 
      + Order.KEY_ORDER_PRICE + " TEXT, " 
      + Order.KEY_ORDER_QUANTITY + " TEXT, " 
      + Order.KEY_ORDER_TOTAL + " TEXT, " 
      + Order.KEY_ORDER_PHOTO + " INTEGER)"; 

    db.execSQL(CREATE_TABLE_ORDER); 

} 


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

    // Drop older table if existed, all data will be gone!!! 
    db.execSQL("DROP TABLE IF EXISTS " + Order.TABLE); 

    // Create tables again 
    onCreate(db); 

} 
} 

回答

1

ORDERsqlite keyword,不能用作标识符。您或者需要"quote it"甚至更​​好,请将其重命名为不是关键字的内容。

+0

谢谢。它帮助! –

相关问题