我正在开展学校活动。这是我的样本表格:
sample form http://i53.tinypic.com/14xlrl.png
我想要做的是,当用户添加一个具有相同CourseID(主键)的记录并列出其中一个记录时,应该会出现一些消息框,显示“无法插入相同的CourseID”或者不能复制CourseID(因为PRIMARY KEY不能重复)。“
答案 0 :(得分:4)
我相信你是手动插入CourseID。更好的方法是在SQL Server中使CourseID列自动递增。
其次,如果您认真创建了主键,则不会接受重复。你只需要捕获异常。检查异常处理上的这些链接:
答案 1 :(得分:1)
您的Course_ID
列似乎是多余的。建议:删除Course_ID
并使用有意义的名称在Course_Code
上声明唯一约束。当更新导致重复Course_ID
值时,DBMS将自动拒绝更新并生成错误。您应确保应用程序公开此错误,包括有意义的名称,以便您的应用程序正常处理。
答案 2 :(得分:0)
正如其他人所说,不要让用户输入主键。但是,如果你真的必须。
Select Count(*) from tablename where CourseID = [whatever]
如果Count返回1,则表示已存在具有该id的记录,并抛出错误。
另一种方法是尝试插入一个异常的Insert函数,然后处理它。