编译插入时出错:没有名为ID的列

时间:2017-10-30 13:11:22

标签: android-sqlite

已经测试了一些找到的答案但仍无效果。我错过了什么?请参阅下文。

String createTableCommand = "CREATE TABLE " + TABLE_NAME + "("
        + COL_USER_ID +" INTEGER PRIMARY KEY,"
        + COL_USER_FULL_NAME + " TEXT NOT NULL,"
        + COL_USER_PASSWORD + " TEXT NOT NULL)";

 @Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL(createTableCommand);
}

public void insertUsers(User user){
    SQLiteDatabase db = this.getReadableDatabase();
    ContentValues values = new ContentValues();
    values.put(COL_USER_ID,user.getid());
    values.put(COL_USER_FULL_NAME,user.getUserFullName());
    values.put(COL_USER_PASSWORD,user.getPassword());
    db.insert(TABLE_NAME,"",values);
    Log.d("Inside insertUsers(): ","INSERTED "+user.getid() + " " +user.getUserFullName() + " " +user.getPassword());
}
Error: E/SQLiteLog: (1) table User has no column named ID
10-30 21:04:09.791 15860-15860/com.bustracker.usc.uscbt E/SQLiteDatabase: Error inserting ID=15200002 PASSWORD=shansay FULLNAME=Shansay
android.database.sqlite.SQLiteException: table User has no column named ID (code 1): , while compiling: INSERT INTO User(ID,PASSWORD,FULLNAME) VALUES (?,?,?)
    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
    at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
    at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
    at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
    at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
    at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1472)
    at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1343)
    at com.bustracker.usc.uscbt.com.usc.tc.dbhandler.UserDbHandler.insertUsers(UserDbHandler.java:62)
    at com.bustracker.usc.uscbt.com.bustracker.com.uscbt.model.UserCRUD$1.onClick(UserCRUD.java:39)
    at android.view.View.performClick(View.java:5637)
    at android.view.View$PerformClick.run(View.java:22429)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6119)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

0 个答案:

没有答案
相关问题