注册 登录
编程论坛 ASP.NET技术论坛

请大家帮帮忙看看这是什么错误啊!

发布于 2008-08-09 15:59, 906 次点击
INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK_bbs_post_bbs_border' 冲突。该冲突发生于数据库 'BBS',表 'bbs_border', column 'categoryid'。语句已终止。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: INSERT 语句与 COLUMN FOREIGN KEY 约束 'FK_bbs_post_bbs_border' 冲突。该冲突发生于数据库 'BBS',表 'bbs_border', column 'categoryid'。语句已终止。

源错误:


行 69:             cmd.Parameters.Add("@today",today);
行 70:             conn.Open();
行 71:             int i=cmd.ExecuteNonQuery();
行 72:             conn.Close();
行 73:             return i;
 

源文件: e:\bbs\conndb.cs    行: 71

怀疑是触发器的问题:
这是我触发器的代码:
ALTER TRIGGER bbs_post_Trigger1
ON dbo.bbs_post
FOR  insert
AS
    declare @userid int
    declare @state varchar(50)
    declare @categoryid int
    
    select @userid=userid,@state=state,@categoryid=categoryid from inserted
    
    update bbs_border set zts=zts+1 where categoryid=@categoryid //更新主题数
    
    update bbs_user set posted=posted+1,integral=integral+1 where userid=@userid //更新用户积分
    
    if(@state='2') //根据附加条件在次更新
    
    
    update bbs_user set integral=integral+10,soul=soul+1 where userid=@userid
    
    
    
    if(@state='3')
    
    
    update bbs_user set integral=integral+5 where userid=@userid
0 回复
1