0

我做了登记表。创建帐户的某些功能必须是唯一的。例如用户名。它在名为“userreg”的文本框中键入。如果在尝试创建新帐户时输入了重复的用户名,我想创建自定义消息。对于这个演示,我将使用用户名 Admin。

默认值:Message.Show(ex.Message)

我得到:密钥“username_UNIQUE”的重复条目“Admin”

所以我做了:

catch (Exception ex)
{
    if (ex.Message == "Duplicate entry ''" + userreg_text.Text + "'' for key 'username_UNIQUE'")
    {
        MessageBox.Show("Username already exists");
    }
}

什么都没发生。没有消息显示。

任何解决方案都会很棒。

4

1 回答 1

1

抛出的异常具有以下内容Message

键“username_UNIQUE”的重复条目“Admin”

您正在使用 this "Duplicate entry ''" + userreg_text.Text + "'' for key 'username_UNIQUE'",这将导致:

键 'username_UNIQUE' 的重复条目 ''Admin''

您在 . 处使用了两次撇号'Admin'

改用这个:

"Duplicate entry '" + userreg_text.Text + "' for key 'username_UNIQUE'"

正如琼斯和我上面所说的,肯定有更好的方法来处理这种情况。

例如,您可以在数据库中搜索条目(在您的情况下:用户名“Admin”),如果返回值不为 NULL,则让 MessageBox 显示。

于 2013-10-23T20:03:48.900 回答