【问题标题】:SQLite Database Column ErrorSQLite 数据库列错误
【发布时间】:2016-04-13 21:57:50
【问题描述】:

private static final String CREATE_TABLE_PROFILES="CREATE TABLE IF NOT EXISTS "+TABLE_PROFILES+"("+KEY_PROFILE_ID+" INTEGER PRIMARY KEY," +KEY_NAME+" TEXT," +KEY_EMAIL+" TEXT,"+KEY_PASS+" TEXT,"+KEY_CONTACT+" TEXT,"+KEY_GENDER+" TEXT,"+KEY_LOCATION+" TEXT," +KEY_SALARY+" TEXT,"+KEY_JOBAREA+" TEXT,"+KEY_DIET+" TEXT,"+KEY_DRINK+" TEXT,"+KEY_DOB+" TEXT,"+KEY_RELIGION+ " TEXT,"+KEY_EDUCATION+" TEXT,"+KEY_DETAIL+" TEXT,"+KEY_PHOTO+" BLOB,"+KEY_CODE+" TEXT,"+KEY_ACTIVE+" TEXT"+")"; 错误是: 表 Profiles 没有名为 userGender 的列 04-14 03:31:51.815 4595-4595/com.example.appify.matrimonio E/SQLiteDatabase: 插入 userName=Natasha userEmail=Natasha@gmail.com userGender=bride userContact=5555 userPass=natasha 时出错 android.database.sqlite.SQLiteException: table Profiles has no column named userGender (code 1): , while compile: INSERT INTO Profiles(userName,userEmail,userGender,userContact,userPass) VALUES (?,?,?,?,?) 在 android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法) 在 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.insertWithOnConflict(SQLiteDatabase.java:1467) 在 android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339) 在 helper.DatabaseHelper.addProfile(DatabaseHelper.java:84) 在 com.example.appify.matrimonio.MainActivity.onCreate(MainActivity.java:32) 在 android.app.Activity.performCreate(Activity.java:5249) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2165) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2250) 在 android.app.ActivityThread.access$900(ActivityThread.java:141) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1213) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5072) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 在 dalvik.system.NativeStart.main(本机方法) 04

【问题讨论】:

    标签: android-sqlite


    【解决方案1】:

    如果您更改了表结构,则增加数据库版本的值。 肯定会奏效的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多