В настоящее время я работаю над школьным проектом, пытаюсь создать службу доставки еды, и мне нужна база данных регистрации/входа. Но у меня возникли проблемы с созданием/вставкой данных в базу данных. Приложение не аварийно завершает работу, но во всплывающем сообщении говорится: «Регистрация не удалась».
Из журнала ошибок видно, что я могу создать таблицу, но не могу. вставьте данные в таблицу.
Буду признателен, если кто-нибудь даст мне совет.
DatabaseHelper.java
E/SQLiteLog: (1) table mylist has no column named email
E/SQLiteDatabase: Error inserting phone = email = password = username =j
android.database.sqlite.SQLiteException: table mylist has no column named email (code 1): , while compiling: INSERT INTO mylist ( phone , email , password , username ) VALUES (?,?,?,?)
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:890)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:501)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1546)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1417)
at com.example.doonfood.DatabaseHelper.addData(DatabaseHelper.java:45)
at com.example.doonfood.signuppage.ADDDATA(signuppage.java:33)
at com.example.doonfood.signuppage.Signup(signuppage.java:48)
at java.lang.reflect.Method.invoke(Native Method)
at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409)
at android.view.View.performClick(View.java:6294)
at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992)
at android.view.View$PerformClick.run(View.java:24770)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
В настоящее время я работаю над школьным проектом, пытаюсь создать службу доставки еды, и мне нужна база данных регистрации/входа. Но у меня возникли проблемы с созданием/вставкой данных в базу данных. Приложение не аварийно завершает работу, но во всплывающем сообщении говорится: «Регистрация не удалась». Из журнала ошибок видно, что я могу создать таблицу, но не могу. вставьте данные в таблицу. Буду признателен, если кто-нибудь даст мне совет. DatabaseHelper.java [code]public class DatabaseHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = " mylist.db "; public static final String TABLE_NAME = " mylist "; public static final String USER_NAME = " username "; public static final String EMAIL = " email "; public static final String PHONE_NUMBER = " phone "; public static final String PASSWORD = " password ";
public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, 1); }
@Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { sqLiteDatabase.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); }
public boolean addData(String username, String email, String phone, String password){ SQLiteDatabase sqLiteDatabase = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(USER_NAME, username); contentValues.put(EMAIL, email); contentValues.put(PHONE_NUMBER, phone); contentValues.put(PASSWORD, password); long result = sqLiteDatabase.insert(TABLE_NAME, null, contentValues); if (result == -1) return false; else {return true;} } [/code]
Журнал ошибок [code] E/SQLiteLog: (1) table mylist has no column named email E/SQLiteDatabase: Error inserting phone = email = password = username =j android.database.sqlite.SQLiteException: table mylist has no column named email (code 1): , while compiling: INSERT INTO mylist ( phone , email , password , username ) VALUES (?,?,?,?) at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:890) at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:501) at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588) at android.database.sqlite.SQLiteProgram.(SQLiteProgram.java:58) at android.database.sqlite.SQLiteStatement.(SQLiteStatement.java:31) at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1546) at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1417) at com.example.doonfood.DatabaseHelper.addData(DatabaseHelper.java:45) at com.example.doonfood.signuppage.ADDDATA(signuppage.java:33) at com.example.doonfood.signuppage.Signup(signuppage.java:48) at java.lang.reflect.Method.invoke(Native Method) at androidx.appcompat.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:409) at android.view.View.performClick(View.java:6294) at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:992) at android.view.View$PerformClick.run(View.java:24770) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) [/code] signuppage.java [code]public class signuppage extends AppCompatActivity {