System.Data.SqlClient.SqlException: INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK_NewsInfo_NewsTypeInfo' 冲突。该冲突发生于数据库 'FarmerSite',表 'NewsTypeInfo', column 'NType_ID'。
语句已终止。
  在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
  在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
  在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
  在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
  在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
  在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
  在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
  在 DataFactory.DataAccess.ExcuteNonQuery(String SQL)
insert into NewsInfo (News_title,News_Content,News_Source,News_TypeId,News_PublishId,News_Ok) values('12','<div>wteryty </div>','11','11','11','11') 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Exception: System.Data.SqlClient.SqlException: INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK_NewsInfo_NewsTypeInfo' 冲突。该冲突发生于数据库 'FarmerSite',表 'NewsTypeInfo', column 'NType_ID'。
语句已终止。
  在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
  在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
  在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
  在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
  在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
  在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
  在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
  在 DataFactory.DataAccess.ExcuteNonQuery(String SQL)
insert into NewsInfo (News_title,News_Content,News_Source,News_TypeId,News_PublishId,News_Ok) values('12','<div>wteryty </div>','11','11','11','11')源错误: 
行 82:         DataAccess da = new DataAccess();
行 83:         da.Open(DataFactory.DbType.DataBaseType.Sql);
行 84:         da.ExcuteNonQuery(sqlStr);
行 85:         da.Close();
行 86:        //Page.ClientScript.RegisterStartupScript(this.GetType(), "sss", "<script language='javascript' type='text/javascript'>window.alert('添加成功!');</script>");
 这个是怎么回事啊?我的那两个表明明是应该有关系的啊,请问下要怎么改啊

解决方案 »

  1.   

    你设置了外键约束
    要先禁用约束,或删除约束再Insert
      

  2.   

    或者根据约束条件,往2个表中同时Insert数据
      

  3.   

    但是我两个表是有关系的啊,主键是NType_ID,外键是News_TypeId。如果先禁用约束,或删除约束再Insert数据的话,插入数据后二者的数据是否存在不一致的问题啊
      

  4.   

    或者根据约束条件,往2个表中同时Insert数据
    或者写一个触发器,如果表a插入了数据,触发器往表b插入相应数据
      

  5.   

    删除外键约束
    参考
    http://www.cnblogs.com/xiaobaidhg/archive/2007/03/26/688325.html