你应该把它留给你正在使用的数据库系统,并处理它可能抛出的任何错误。所有数据库系统(Access、Oracle、MS SQL 等)都允许您将表字段标记为唯一。这意味着该表只能保存一个具有该值的字段的记录。如果您尝试添加多个具有相同字段的记录,则会引发错误。您的应用程序应该捕获该错误并提醒用户。如果您发布您使用的数据库系统类型,我可以向您展示如何执行此操作。
编辑:
这是一个例子。这使用了 SqlClient.SqlException 异常类。我不确定唯一约束的错误代码是什么,但我在 catch 中添加了一个变量,您可以在该变量上放置一个断点来获取。只需更改 if 语句以匹配该错误代码:
Try
'your database insert attempt here
Catch ex As SqlClient.SqlException
Dim sqlErrorNumber = ex.ErrorCode
If (sqlErrorNumber = 1) Then
Me.lblWarning.Text = "Please select a unique ID"
Me.lblWarning.Visible = True
Me.lblWarning.ForeColor = Drawing.Color.Red
Me.lblWarning.Font.Bold = True
End If
End Try
在 aspx 页面中:
<asp:Label ID="lblWarning" runat="server" Visible="false"></asp:Label>