ASP.NET发帖自动编号触发器的问题,触发器写好了,但是不起作用。该数据表我没设主键,各字段允许为空,cid字段varchar(50)。但是应该不会是表设置的问题会的朋友帮一下这个是发帖自动编号的触发器
CREATE   trigger  tg_tInsert  on  dbo.t_content     
for   insert       
as         
    declare   @cid varchar(12)
    declare   @Title varchar(50)
    declare   @Subject varchar(5000)
    declare   @S_Name varchar(8)
    declare   @CreateTime varchar(30)
    declare   @AnswerTime varchar(30)
    declare   @HotDegree int
    declare   @num      int   
    declare   @strNum   varchar(20)
    declare   @date   varchar(8)
    declare   @Numlen   int--设置流水号的长度     
set @Numlen = 4     
--设置前缀     
select @date = 't' + Convert(varchar(8),GetDate(),12)
select   @cid =max(cid)  from t_content   
where   cid   like   @date  +   '%'  
if @cid is null            
set  @num=0       
else         
set  @num=cast(replace(@cid,@date,'') as int)        
set  @num = @num + 1      
set  @strNum = cast(@num as varchar(10))     
while(len(@strNum)<@Numlen)          
set  @strNum = '0' + @strNum     
set   @cid=@date +@strNum     
select               @cid=cid,   @Title=Title,   @Subject=Subject,   @S_Name=S_Name,   @CreateTime=CreateTime, @AnswerTime=AnswerTime, @HotDegree=HotDegree  from  inserted       
rollback  
insert   into   t_content   values(  @cid, @Title, @Subject, @S_Name, @CreateTime, @AnswerTime, @HotDegree )
这是添加一个帖子的C#语句:
    protected void Button2_Click(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection("Data Source=(local);Initial Catalog=BYSJ;Integrated Security=True;");
        con.Open();
        SqlCommand cmd = new SqlCommand("AddContent", con);
        cmd.CommandType = CommandType.StoredProcedure;        cmd.Parameters.Add("@Title", SqlDbType.VarChar);
        cmd.Parameters.Add("@Subject", SqlDbType.VarChar);
        cmd.Parameters.Add("@S_Name", SqlDbType.VarChar);
        cmd.Parameters.Add("@CreateTime", SqlDbType.VarChar);
        cmd.Parameters.Add("@AnswerTime", SqlDbType.VarChar);
        cmd.Parameters.Add("@HotDegree", SqlDbType.VarChar);        cmd.Parameters["@Title"].Value = this.txttitle.Text.ToString();
        cmd.Parameters["@Subject"].Value = this.txtcontent.Text.ToString();
        cmd.Parameters["@S_Name"].Value = this.lblname.Text.ToString();
        cmd.Parameters["@CreateTime"].Value = System.DateTime.Now.ToString();
        cmd.Parameters["@AnswerTime"].Value = System.DateTime.Now.ToString();
        cmd.Parameters["@HotDegree"].Value = '0';
        cmd.ExecuteNonQuery();        Response.Redirect("~/SuccessPage.aspx");
        Response.Write("<script language=javascript>alert('恭喜您,信息添加成功!!');</script>");
        con.Close();
    }这个添加一个帖子的存储过程:
CREATE PROCEDURE dbo.AddContent
(
  @Title varchar(50),
  @Subject varchar(5000),
  @S_Name varchar(8),
  @CreateTime varchar(30),
    @AnswerTime varchar(30),
  @HotDegree int
)
AS
   insert  into t_content(Title,Subject,S_Name,CreateTime,AnswerTime,HotDegree)
VALUES(@Title, @Subject, @S_Name, @CreateTime, @AnswerTime, @HotDegree)
RETURN
GO