Java 调用.query时android.database.sqlite.SQLiteException
我只在实时版本上面临这个问题,在模拟器上测试时一切正常。 这是我的密码Java 调用.query时android.database.sqlite.SQLiteException,java,android,sqlite,Java,Android,Sqlite,我只在实时版本上面临这个问题,在模拟器上测试时一切正常。 这是我的密码 public void onCreate(SQLiteDatabase db) { String SQL_CREATE_NUTRI_TABLE = "CREATE TABLE " + TABLE_NAME_USER_DATA + "(" + _ID_USER_DATA + " INTEGER PRIMARY KEY AUTOINCREMENT
public void onCreate(SQLiteDatabase db) {
String SQL_CREATE_NUTRI_TABLE = "CREATE TABLE " + TABLE_NAME_USER_DATA + "(" +
_ID_USER_DATA + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_USER_NAME + " TEXT, " +
COLUMN_USER_GENDER + " TEXT, " +
COLUMN_USER_HEIGHT + " TEXT, " +
COLUMN_USER_WEIGHT + " TEXT, " +
COLUMN_USER_WEIGHT_DATE + " TEXT, " +
COLUMN_USER_MUSCLE_MASS + " TEXT, " +
COLUMN_USER_MUSCLE_MASS_DATE + " TEXT, " +
COLUMN_USER_FAT_MASS + " TEXT, " +
COLUMN_USER_FAT_MASS_DATE + " TEXT, " +
COLUMN_USER_ACTIVITY + " TEXT, " +
COLUMN_USER_GOAL + " TEXT, " +
COLUMN_USER_PHONE + " TEXT, " +
COLUMN_USER_AGE_MILLIS + " TEXT, " +
COLUMN_USER_EMAIL + " TEXT, " +
TOKEN + " TEXT, " +
TOKEN_TIME + " TEXT, " +
COLUMN_USER_PASSWORD + " TEXT);";
db.execSQL(SQL_CREATE_NUTRI_TABLE);
}
错误在db.execSQL行中
我已经回顾了我需要的专栏,它们都在那里,因为我在其他答案中看到,有些人忘记了添加它们
编辑
这就是我得到的错误
Caused by: android.database.sqlite.SQLiteException:
at android.database.sqlite.SQLiteConnection.nativePrepareStatement (Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement (SQLiteConnection.java:986)
at android.database.sqlite.SQLiteConnection.prepare (SQLiteConnection.java:593)
at android.database.sqlite.SQLiteSession.prepare (SQLiteSession.java:590)
at android.database.sqlite.SQLiteProgram.<init> (SQLiteProgram.java:61)
at android.database.sqlite.SQLiteStatement.<init> (SQLiteStatement.java:33)
at android.database.sqlite.SQLiteDatabase.executeSql (SQLiteDatabase.java:1812)
at android.database.sqlite.SQLiteDatabase.execSQL (SQLiteDatabase.java:1740)
at com.app.khali.nutriplan.userData.userDataHelper.onCreate (userDataHelper.java:64)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked (SQLiteOpenHelper.java:412)
at android.database.sqlite.SQLiteOpenHelper.getReadableDatabase (SQLiteOpenHelper.java:341)
at com.app.khali.nutriplan.userData.userDataProvider.query (userDataProvider.java:54)
at com.app.khali.nutriplan.startUpPage.onCreate (startUpPage.java:121)
at android.app.Activity.performCreate (Activity.java:7967)
at android.app.Activity.performCreate (Activity.java:7956)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1307)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3487)
原因:android.database.sqlite.SQLiteException:
位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
位于android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:986)
位于android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:593)
位于android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:590)
在android.database.sqlite.sqlite程序中。(SQLiteProgram.java:61)
在android.database.sqlite.sqlite语句中。(SQLiteStatement.java:33)
位于android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1812)
位于android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1740)
位于com.app.khali.nutriplan.userData.userDataHelper.onCreate(userDataHelper.java:64)
位于android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:412)
位于android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:341)
位于com.app.khali.nutriplan.userData.userDataProvider.query(userDataProvider.java:54)
在com.app.khali.nutriplan.startUpPage.onCreate上(startUpPage.java:121)
位于android.app.Activity.performCreate(Activity.java:7967)
位于android.app.Activity.performCreate(Activity.java:7956)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3487)
如果查询已经存在,请将其更改为不创建表
像
并检查。添加您所面临的确切异常跟踪。@AshishKarn这就是您的意思吗?请尝试此
创建表(如果不存在)+表名\用户\数据+”(“
让我知道它是否正确。看起来一切正常。请提供userDataProvider.query
方法代码或查询。请提供一个-如果没有所有缺少的常量,则无法使用此代码。
CREATE TABLE IF NOT EXISTS + TABLE_NAME_USER_DATA + "(" +