Android 未创建sqlite列

Android 未创建sqlite列,android,sqlite,Android,Sqlite,我试图向我的数据库添加一些内容,但我不断收到一个错误,说某个列不存在。我使用根资源管理器查看该表,它只创建了前两列,分别是id和name。这就是我一开始的全部内容,但后来我添加了一些专栏,现在即使在我重新安装程序之后,它也会给我错误 如果这很重要的话,它是一个内容提供商 12-08 16:55:21.470: E/SQLiteDatabase(23282): Error inserting series=0 team_pos=0 handed=0 name=Allen, Andrew subst

我试图向我的数据库添加一些内容,但我不断收到一个错误,说某个列不存在。我使用
根资源管理器查看该表,它只创建了前两列,分别是
id
name
。这就是我一开始的全部内容,但后来我添加了一些专栏,现在即使在我重新安装程序之后,它也会给我错误

如果这很重要的话,它是一个内容提供商

12-08 16:55:21.470: E/SQLiteDatabase(23282): Error inserting series=0 team_pos=0 handed=0 name=Allen, Andrew substitute=0 game=0 team=0 average=0
12-08 16:55:21.470: E/SQLiteDatabase(23282): android.database.sqlite.SQLiteException: table bowlers_table has no column named series: , while compiling: INSERT INTO bowlers_table(series,team_pos,handed,name,substitute,game,team,average) VALUES (?,?,?,?,?,?,?,?)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteCompiledSql.native_compile(Native Method)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteCompiledSql.<init>(SQLiteCompiledSql.java:64)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteProgram.compileSql(SQLiteProgram.java:146)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteProgram.compileAndbindAllArgs(SQLiteProgram.java:367)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteStatement.acquireAndLock(SQLiteStatement.java:253)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:111)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1737)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1610)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at com.tyczj.bowling.BowlersDB.insert(BowlersDB.java:102)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.content.ContentProvider$Transport.insert(ContentProvider.java:203)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.content.ContentResolver.insert(ContentResolver.java:721)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at com.tyczj.bowling.Bowlers.onDoneClick(Bowlers.java:58)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at java.lang.reflect.Method.invokeNative(Native Method)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at java.lang.reflect.Method.invoke(Method.java:491)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.view.View$1.onClick(View.java:2690)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.view.View.performClick(View.java:3122)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.view.View$PerformClick.run(View.java:12020)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.os.Handler.handleCallback(Handler.java:587)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.os.Handler.dispatchMessage(Handler.java:92)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.os.Looper.loop(Looper.java:132)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at android.app.ActivityThread.main(ActivityThread.java:4126)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at java.lang.reflect.Method.invokeNative(Native Method)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at java.lang.reflect.Method.invoke(Method.java:491)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
12-08 16:55:21.470: E/SQLiteDatabase(23282):    at dalvik.system.NativeStart.main(Native Method)
12-08 16:55:21.470: E/AndroidRuntime(23282): FATAL EXCEPTION: main
12-08 16:55:21.470: E/AndroidRuntime(23282): java.lang.IllegalStateException: Could not execute method of the activity
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.view.View$1.onClick(View.java:2695)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.view.View.performClick(View.java:3122)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.view.View$PerformClick.run(View.java:12020)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.os.Handler.handleCallback(Handler.java:587)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.os.Handler.dispatchMessage(Handler.java:92)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.os.Looper.loop(Looper.java:132)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.app.ActivityThread.main(ActivityThread.java:4126)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at java.lang.reflect.Method.invokeNative(Native Method)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at java.lang.reflect.Method.invoke(Method.java:491)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at dalvik.system.NativeStart.main(Native Method)
12-08 16:55:21.470: E/AndroidRuntime(23282): Caused by: java.lang.reflect.InvocationTargetException
12-08 16:55:21.470: E/AndroidRuntime(23282):    at java.lang.reflect.Method.invokeNative(Native Method)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at java.lang.reflect.Method.invoke(Method.java:491)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.view.View$1.onClick(View.java:2690)
12-08 16:55:21.470: E/AndroidRuntime(23282):    ... 11 more
12-08 16:55:21.470: E/AndroidRuntime(23282): Caused by: android.database.SQLException: Failed to insert row into content://com.tyczj.bowling.bowlersdb/bowlers_table
12-08 16:55:21.470: E/AndroidRuntime(23282):    at com.tyczj.bowling.BowlersDB.insert(BowlersDB.java:108)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.content.ContentProvider$Transport.insert(ContentProvider.java:203)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at android.content.ContentResolver.insert(ContentResolver.java:721)
12-08 16:55:21.470: E/AndroidRuntime(23282):    at      com.tyczj.bowling.Bowlers.onDoneClick(Bowlers.java:58)
12-08 16:55:21.470: E/AndroidRuntime(23282):    ... 14 more
和我的数据库插入

@Override
public Uri insert(Uri uri, ContentValues values) {
    long rowID = db.insert(BOWLERS_TABLE,null, values);
    if(rowID > 0){
        Uri _uri = ContentUris.withAppendedId(CONTENT_ID_URI_BASE,rowID);
        getContext().getContentResolver().notifyChange(_uri,null);
        return _uri;
    }else{
        throw new SQLException("Failed to insert row into " + uri);
    }
}
以及如何在内容提供程序中创建表

private void createTables(SQLiteDatabase db){
        db.execSQL("CREATE TABLE " + BOWLERS_TABLE + "(" + ID + " integer primary key autoincrement, " +
                NAME + " TEXT " + TEAM + " TEXT " + SUB + " TEXT " + POSITION + " TEXT " + AVERAGE + " TEXT " + GAME + " TEXT " +
                 SERIES + " TEXT " + HANDED + " TEXT);");
    }

我以前用这种方法做过很多表,所以我不知道为什么不创建这些表。

在创建数据库表的SQL代码中,您忘记了在“文本”后加逗号。

在创建数据库表的SQL代码中,您忘记了在“文本”后加逗号。

好吧,您忘记了在所有这些之后加逗号(除了最后一个,不需要逗号)@tyczj除了结尾的那一个之外,所有人都应该是
“TEXT,
。试着回答一半好吧,你在所有人之后都忘了逗号(除了最后一个,不需要逗号)@tyczj除了结尾的那一个之外,所有人都应该是
“TEXT,”
。试着在回答问题时折衷一下
private void createTables(SQLiteDatabase db){
        db.execSQL("CREATE TABLE " + BOWLERS_TABLE + "(" + ID + " integer primary key autoincrement, " +
                NAME + " TEXT " + TEAM + " TEXT " + SUB + " TEXT " + POSITION + " TEXT " + AVERAGE + " TEXT " + GAME + " TEXT " +
                 SERIES + " TEXT " + HANDED + " TEXT);");
    }