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

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

当我插入重复的 user_id 时,我的应用程序被关闭。我想显示消息 dat User id is not available on duplicate entries。我可以使用 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();
}

关于android - 如何在 Sqlite for Android studio 中为用户 id 实现主键或唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36180640/

相关文章:

android - 如何修复 variant.getMergeResources()

php - 在 PHP/MySQL/PDO 中创建个人资料信息页面

php - 使用 PHP mysqli 从文件执行复杂的 SQL

android - Room - 在运行时(在用户端)添加或删除列?

android - 想在 Android 2.2 中进行拼写检查

android - 升级到 Gradle 3.0.1 版本后出现 OverlappingFileLockException

android - 如何将 GridLayout 置于其相对布局父级的中心?

java - 奇怪的 org.springframework.jdbc.BadSqlGrammarException

java - 打开 Sqlite DB Android 时出现 FileNotFound 异常

sql - 如何在同一查询中添加两个选择命令的结果