我遇到SqlException问题。在我的c#代码中,当我尝试在数据库中插入数据时,我得到下一个错误:无法在对象错误号中插入重复键 我在Sql Server中做了一个约束。但是我需要知道这个异常的错误代码吗?我应该做什么?
try{
connect c = new connection();
DataTable d = c.query("INSERT INTO User (code, name, surname) VALUES ('"+code+"', '"+name+"', '"+surname+"')");
}
catch(SqlException e)
{
if(e.Number == ???)
{
MessageBox.Show("Sorry, you can't add duplicate data");
}
}
答案 0 :(得分:1)
一个简单的解决方案是错误号上的switch
:
switch (exc.Errors[0].Number){
case 17:
case 4060:
case 18456:
case 547:
break;
}
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlexception.number.aspx
答案 1 :(得分:-1)
尝试启动程序以查看您获得的错误编号:
try
{
connect c = new connection();
DataTable d = c.query("INSERT INTO User (code, name, surname) VALUES ('"+code+"', '"+name+"', '"+surname+"')");
}
catch(SqlException e)
{
MessageBox.Show(e.Number.ToString());
}