Android Studio SQLite数据库错误没有这样的表
我试图创建一个表,并在注册时将用户添加到表中,然后在用户注册后,我允许他们登录,我收到一个错误。当我点击login按钮或register按钮时,应用程序正在崩溃,但我认为问题在于database helper类。以下是错误:Android Studio SQLite数据库错误没有这样的表,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我试图创建一个表,并在注册时将用户添加到表中,然后在用户注册后,我允许他们登录,我收到一个错误。当我点击login按钮或register按钮时,应用程序正在崩溃,但我认为问题在于database helper类。以下是错误: E/AndroidRuntime: FATAL EXCEPTION: main Process: ie.wit.budget, PID: 3915 android.database.sqlite.SQL
E/AndroidRuntime: FATAL EXCEPTION: main
Process: ie.wit.budget, PID: 3915
android.database.sqlite.SQLiteException: no such table: user (code 1): , while compiling: SELECT username, password from user
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.SQLiteQuery.<init>(SQLiteQuery.java:37)
at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1318)
at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1257)
at ie.wit.SQL.DatabaseHelper.checkUser(DatabaseHelper.java:72)
at ie.wit.budget.LoginActivity$1.onClick(LoginActivity.java:39)
at android.view.View.performClick(View.java:5610)
at android.view.View$PerformClick.run(View.java:22265)
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:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
看起来您最初是在模拟器/设备上运行应用程序,然后将
user\u表
添加到onCreate()
。在这种情况下,您没有更新数据库版本。
在模拟器/设备上卸载应用程序,然后运行项目(将重新安装应用程序)。或者,您也可以只更新数据库版本
//i.e
private static final int DATABASE_VERSION = 2;
干杯谢谢你的帮助:)
//i.e
private static final int DATABASE_VERSION = 2;