有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Android:在表中插入数据时引发错误

我在一个数据库中创建了两个表。我的工作很好。表_NAME2在插入数据时出错,表示找不到电子邮件列

数据库助手。爪哇:

     @Override
public void onCreate(SQLiteDatabase db) {
    db.execSQL("CREATE TABLE " + TABLE_NAME2 + "("
            + USER_NAME + "TEXT,"
            + USER_EMAIL + "TEXT,"
            + USER_MOBILE + "TEXT, "
            + USER_PASS + "TEXT)");
    db.execSQL("CREATE Table " + TABLE_NAME1 + "("// + COL1 + " INTEGER PRIMARY KEY AUTOINCREMENT,"
            + COL2 + " TEXT,"
            + COL3 + " TEXT,"
            + COL4 + " TEXT,"
            + COL5 + " TEXT,"
            + COL6 + " TEXT,"
            + COL7 + " TEXT)");
     }  

    public boolean insertSignupDataDB(String name, String email, String mobile, String pass){

    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues = new ContentValues();
    contentValues.put(USER_NAME, name);
    contentValues.put(USER_EMAIL, email);
    contentValues.put(USER_MOBILE, mobile);
    contentValues.put(USER_PASS, pass);

    long result = db.insert(TABLE_NAME2, null, contentValues);
    if (result==-1){
        return false;
    }
    else
        return true;
}

日志:

(1)表注册没有名为EMAIL的列 06-08 21:00:51.30615019-15019/com。米高梅。曼尼什语。trekcompanion E/SQLiteDatabase:插入电子邮件时出错=abc名称=abc密码=abc手机=abc 安卓数据库sqlite。SQLiteException:表注册没有名为EMAIL(代码1)的列,编译时:插入注册(EMAIL、NAME、PASSWORD、MOBILE)值(?,,,?)

请解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    从这个页面,我将数据发送到DatabaseHelper类以插入数据。 它显示toast“成功注册”,但在日志中显示错误,并且没有导航到LoginActivity类。它正在导航到MainActivity。 甚至其他部分也不起作用。当我输入不同的密码时,它会导致错误应用程序停止

     if(etSignPass.getText().toString().equals(etSignConPass.getText().toString())){
    
                    boolean queryResult = dbHelper.insertSignupDataDB(etSignName.getText().toString(),
                            etSignEmail.getText().toString(), etSignMobile.getText().toString(), etSignPass.getText().toString());
                    if(queryResult=true){
                        Toast.makeText(SignUp.this, "Successfully Signed up", Toast.LENGTH_SHORT).show();
    
                        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                            navigateUpTo(new Intent(SignUp.this,LoginActivity.class));
                        }
    
                    }
                    else{
                        Toast.makeText(SignUp.this, "Error", Toast.LENGTH_SHORT).show();
                    }
    
                }
    
                else{
                    etSignConPass.setBackgroundColor(Color.RED);
                    onClicSignUp();
                }
            }