【问题标题】:How to implement Primary key OR unique key for user id in Sqlite for Android studio如何在 Sqlite for Android studio 中实现用户 ID 的主键或唯一键
【发布时间】:2016-03-23 14:14:29
【问题描述】:

我是 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 块吗?或者是其他东西。请建议。

【问题讨论】:

  • 是的,您可以使用它。在 logcat 中捕获异常并显示消息。
  • 非常感谢您的回复。我想向用户显示消息。不在控制台中。我可以吗?
  • 是的。为此使用 Toast。
  • 谢谢 Preak Sola。我正在尝试实施您的建议。实施后我会在这里回复你。
  • 谢谢 Prera​​kSola。它的工作

标签: android mysql sqlite


【解决方案1】:

试试下面的代码。

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

【讨论】:

  • 非常感谢。卢卡斯
  • 我知道您是 SO 新手。如果您认为某个答案解决了问题,请单击绿色复选标记将其标记为“已接受”,如下所示:i.stack.imgur.com/QpogP.png 谢谢!
猜你喜欢
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2021-12-04
  • 2011-09-16
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多