【发布时间】:2018-04-02 10:55:12
【问题描述】:
我的语法有问题。
每当我调用 clearAll() 方法时就会发生崩溃,这是我的方法。
/**
* Method to clear all db
*/
public void clearAll() {
if(sqLiteDatabase==null){
sqLiteDatabase=this.getWritableDatabase();
}else {
if(!sqLiteDatabase.isOpen()){
sqLiteDatabase=this.getWritableDatabase();
}
}
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_USER_PERSONAL_DETAILS);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_POSITIONS);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_INDUSTRY);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_INTERESTS);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_JOB_LOCATION);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_JOB_CITY);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_KNOWN_LANGUAGE);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_ORGANIZATION_DETAILS);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_QUALIFICATIONS);
sqLiteDatabase.execSQL(SqlConstant.DROP_TABLE+ SqlConstant.CREATE_TABLE_CURRENT_LOCATION);
}
查询:
DROP TABLE IF EXISTS 创建表 user_personal_detail ( first_name varchar2 , middle_name varchar2 , last_name varchar2 , 用户名 varchar2 , email_id varchar2 , alternative_email_id varchar2 , phone_number varchar2 , mobile_code varchar2 , date_of_birth varchar2 , 性别 varchar2 , marrital_status varchar2 , 教育级别 varchar2 , profile_image varchar2 , hupo_score varchar2 , hupo_loyalty_point varchar2 , signup_date varchar2 , totalWorkExperience varchar2)
崩溃报告:
04-02 16:11:50.943 23043-23043/com.app.hupo D/AndroidRuntime: 关闭虚拟机 04-02 16:11:50.944 23043-23043/com.app.hupo E/AndroidRuntime: 致命异常: main 进程:com.app.hupo,PID:23043 android.database.sqlite.SQLiteException:靠近“创建”:语法错误 (代码1):,编译时:DROP TABLE IF EXISTS 创建表 user_personal_detail ( first_name varchar2 , middle_name varchar2 , last_name varchar2 , user_name varchar2 , email_id varchar2 , Alternative_email_id varchar2 , phone_number varchar2 , mobile_code varchar2 , date_of_birth varchar2 , 性别 varchar2 , marrital_status varchar2 ,education_level varchar2 ,profile_image varchar2 , hupo_score varchar2 , hupo_loyalty_point varchar2 , signup_date varchar2 , 总工作经验 varchar2 ) 在 android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native 方法) 在 android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889) 在 android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500) 在 android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) 在 android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58) 在 android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31) 在 android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1675) 在 android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1606) 在 com.app.hupo.database.DataBaseHelper.clearAll(DataBaseHelper.java:1048) 在
【问题讨论】:
-
使用 CREATE TABLE QUERY 更新问题
-
您可以卸载并重新安装应用程序,希望它能正常工作,或者如果仍然出现这种情况,请尝试更新 DATABASE_VERSION
-
@Lucifer 它已经在崩溃报告中可用
-
你从哪里得到的语法:
DROP TABLE IF EXISTS CREATE TABLE ...?! -
你能显示
SqlConstant类吗?
标签: java android database sqlite