Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建表方法androidsqlite_Android_Sqlite - Fatal编程技术网

创建表方法androidsqlite

创建表方法androidsqlite,android,sqlite,Android,Sqlite,这张桌子有什么问题吗 public void onCreate(SQLiteDatabase db) { String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "(" + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_FIRST_NAME + " TEXT," + KEY_LAST

这张桌子有什么问题吗

public void onCreate(SQLiteDatabase db) {
        String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
                + KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," + KEY_FIRST_NAME + " TEXT,"
                + KEY_LAST_NAME + " TEXT," + KEY_MOB_NO + " TEXT,"
                + KEY_HOME_NO + " TEXT," + KEY_WORK_NO + " TEXT,"
                + KEY_HOME_ADDR + " TEXT," + KEY_EMAIL_ADDR + " TEXT,"
                + KEY_WORK_ADDR + " TEXT," + KEY_NOTES + " TEXT" + ");";
        db.execSQL(CREATE_CONTACTS_TABLE);
我的日志是说没有专栏。知道为什么会这样吗

编辑:logcat

09-28 07:47:48.933: E/SQLiteLog(1908): (1) table contacts has no column named home_address
09-28 07:47:48.953: E/SQLiteDatabase(1908): Error inserting home_address= first_name=543 work_address= mobile_number= work_number= last_name=543 notes= home_number= email_address=
09-28 07:47:48.953: E/SQLiteDatabase(1908): android.database.sqlite.SQLiteException: table contacts has no column named home_address (code 1): , while compiling: INSERT INTO contacts(home_address,first_name,work_address,mobile_number,work_number,last_name,notes,home_number,email_address) VALUES (?,?,?,?,?,?,?,?,?)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at com.example.contactmanager.DatabaseHandler.addContact(DatabaseHandler.java:80)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at com.example.contactmanager.NewContactActivity$1.onClick(NewContactActivity.java:63)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.view.View.performClick(View.java:4240)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.view.View$PerformClick.run(View.java:17721)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.os.Handler.handleCallback(Handler.java:730)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.os.Handler.dispatchMessage(Handler.java:92)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.os.Looper.loop(Looper.java:137)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at android.app.ActivityThread.main(ActivityThread.java:5103)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at java.lang.reflect.Method.invokeNative(Native Method)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at java.lang.reflect.Method.invoke(Method.java:525)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-28 07:47:48.953: E/SQLiteDatabase(1908):     at dalvik.system.NativeStart.main(Native Method)
09-28 07:47:48.933:E/SQLiteLog(1908):(1)表联系人没有名为home\u address的列
09-28 07:47:48.953:E/SQLiteDatabase(1908):插入家庭地址=名字=543工作地址=手机号码=工作号码=姓氏=543备注=家庭号码=电子邮件地址时出错=
09-28 07:47:48.953:E/SQLiteDatabase(1908):android.database.sqlite.SQLiteException:表格联系人没有名为home_address(代码1)的列,编译时:插入联系人(home_address、first_name、work_address、mobile_number、work_number、last_name、notes、home_number、email_address)值(?,,,,,,,,,,?)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.database.sqlite.SQLiteConnection.nativePrepareStatement(本机方法)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.database.sqlite.SQLiteConnection.acquiredpreparedstatement(SQLiteConnection.java:889)
09-28 07:47:48.953:E/SQLiteDatabase(1908):在android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
09-28 07:47:48.953:E/SQLiteDatabase(1908):在android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1467)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1339)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于com.example.contactmanager.DatabaseHandler.addContact(DatabaseHandler.java:80)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于com.example.contactmanager.NewContactActivity$1.onClick(NewContactActivity.java:63)
09-28 07:47:48.953:E/SQLiteDatabase(1908):在android.view.view.performClick(view.java:4240)
09-28 07:47:48.953:E/SQLiteDatabase(1908):在android.view.view$PerformClick.run(view.java:17721)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.os.Handler.handleCallback(Handler.java:730)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.os.Handler.dispatchMessage(Handler.java:92)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.os.Looper.loop(Looper.java:137)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于android.app.ActivityThread.main(ActivityThread.java:5103)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于java.lang.reflect.Method.invokenactive(本机方法)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于java.lang.reflect.Method.invoke(Method.java:525)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-28 07:47:48.953:E/SQLiteDatabase(1908):位于dalvik.system.NativeStart.main(本机方法)

尝试卸载并再次运行应用程序。可能是您向定义中添加了更多列,并且数据库已经安装,因此没有添加新列<最初安装数据库时,code>onCreate方法仅运行一次。它再也不会跑了。当您需要升级时,有一个单独的方法
onUpgrade
——但是在您实际发布新版本时应该使用它。

在此处发布日志。您以前是否有相同的表,但列数较少?如果以后添加更多列,则数据库不会升级。请尝试从最后一列中删除分号。我有
在我的代码和它的工作。如果你卸载你的应用程序,然后再次运行,它的工作吗?谢谢你,非常感谢。