如何在Sqlite for Android studio中实现用户ID的主键或唯一键

Rah*_*ani 1 mysql sqlite android

我是Android应用程序开发的新手.我想在数据库中插入值.我的代码是

 public void onClick(View view) 

{

            if(view==register)

            {
           if(user_id.getText().toString().trim().length()==0||
                        password.getText().toString().trim().length()==0||
                        email.getText().toString().trim().length()==0 || contact.getText().toString().trim().length()==0)
                {
                    showMessage("Error", "Please enter all values");
                    return;
                }

                db.execSQL("INSERT INTO customer VALUES('"+user_id.getText()+"','"+password.getText()+
                        "','"+email.getText()+"','"+contact.getText()+"');");
                showMessage("Success", "Record added"); // showMessage is Print function
                clearText();
            }
        }
Run Code Online (Sandbox Code Playgroud)

当我插入Duplicate user_id时,我的应用程序将关闭.我想显示消息dat用户ID在重复条目上不可用.我可以使用try catch块吗?或者是其他东西.请建议.

Luc*_*llo 5

请尝试下面的代码.

try{
      db.execSQL("INSERT INTO customer VALUES('"+user_id.getText()+"','"+password.getText()+
                                "','"+email.getText()+"','"+contact.getText()+"');");
      Toast.makeText(getApplicationContext(), "Register inserted!", Toast.LENGTH_SHORT).show();
}catch(SQLException e)){
      Toast.makeText(getApplicationContext(), "Register already exists in database!", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)