我有我的项目在.NET中使用SQL Server中的数据库。我正在使用Linq-to-SQL,有时当项目在项目的一部分中抛出异常(约束)时,同样的错误会在项目的其他部分继续显示,当我对数据库做另一件事时。就像当我做插入操作并且在删除异常之前,插入操作会抛出删除异常,并且直到我关闭并再次打开项目为止。我的主要问题是当我的在线项目发生这种情况时,我的项目中的这个错误导致我在线测试的项目出现问题(我使用相同的数据库)。我不知道这个异常是在内存上还是其他东西,但是它已经给我带来了很多令人头疼的问题。为什么SQL Server会一直抛出异常?
这是例外,多数民众赞成抛出我的时候我做了错误的删除(不这样做级联删除)
var actividad = (from ta in modeloDatos.tActividad
where ta.id_actividad == idActividad
select ta).Single()
modeloDatos.tActividad.DeleteOnSubmit(actividad);
modeloDatos.SubmitChanges();
return true;
}
catch (Exception ex)
{
return false;
}
ex = {"The DELETE statement conflicted with the REFERENCE constraint \"FK_tActividadRiesgo_tActividad\". The conflict occurred in database \"DBDESARROLLO\", table \"dbo.tActividadRiesgo\".\r\nThe statement has been terminated."}
,当它在此代码去(插入)
proceso.id_encabezado = encabezadoProceso.id_encabezado;
proceso.id_procesopadre = idProcesoPadre;
modeloDatos.tProceso.InsertOnSubmit(proceso);
modeloDatos.SubmitChanges();
catch (Exception ex)
{
return -1;
}
抛出我什么都没有做什么IM做同样的例外
ex = {"The DELETE statement conflicted with the REFERENCE constraint \"FK_tActividadRiesgo_tActividad\". The conflict occurred in database \"DBDESARROLLO\", table \"dbo.tActividadRiesgo\".\r\nThe statement has been terminated."}
我在事实上利用difer ent表格。
显示这样一个异常,以及它产生的周围代码 - 否则我们只会不得不看一个魔术8球并做一些猜测。 – nos 2010-05-31 20:44:08
magic 8 ball认为ODBC连接有错误? – VoodooChild 2010-05-31 20:59:28
@VoodooChild:绝对! - http://web.ics.purdue.edu/~ssanty/cgi-bin/eightball.cgi – 2010-05-31 21:24:35