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

如何在Sqlite for Android studio中实现用户id的主键或唯一键,android,mysql,sqlite,Android,Mysql,Sqlite,我是Android应用程序开发新手。我正在尝试在数据库中插入值。我的代码是 public void onClick(View view) { if(view==register) { if(user_id.getText().toString().trim().length()==0|| password.getText().toString().trim().leng

我是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();
            }
        }
当我插入重复的用户id时,我的应用程序关闭。我想显示消息dat User id在重复条目上不可用。我可以用try-catch-block吗?或者别的什么。请建议

试试下面的代码

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();
}
请尝试下面的代码

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();
}

是的,你可以用它。捕获日志中出现的异常并显示消息。非常感谢您的回复。我想向用户显示消息。不在控制台中。我可以吗?可以。用烤面包片,谢谢你。我正在努力实施你的建议。实施后我会在这里回复你。谢谢你。是的,你可以用它。捕获日志中出现的异常并显示消息。非常感谢您的回复。我想向用户显示消息。不在控制台中。我可以吗?可以。用烤面包片,谢谢你。我正在努力实施你的建议。实施后我会在这里回复你。谢谢你。非常感谢你。卢卡斯,我看你是新来的。如果您认为答案解决了问题,请单击绿色复选标记将其标记为“已接受”,如下所示:i.stack.imgur.com/QpogP.png谢谢!非常感谢你。卢卡斯,我看你是新来的。如果您认为答案解决了问题,请单击绿色复选标记将其标记为“已接受”,如下所示:i.stack.imgur.com/QpogP.png谢谢!