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

时间:2016-03-23 14:14:29

标签: android mysql sqlite

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

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

1 个答案:

答案 0 :(得分: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();
}