你可以改一下,看有没有进入你的if 判断
if(isnull(@User_Name,'')='' and ISNULL(@qItemTime,'')<>'' and ISNULL(@dItemTime,'')<>'')
begin
print 1
end
if(isnull(@User_Name,'')<>'' and ISNULL(@qItemTime,'')<>'' and ISNULL(@dItemTime,'')<>'')
begin
print 2
end

解决方案 »

  1.   

    谢谢大伙    这个问题已经解决了
      现在还有个问题 如下:
    ALTER procedure [dbo].[Pro_1]
    @A       varchar(50),
    @B           varchar(50),
    @C           datetime, --日期格式
    @Re1         varchar(50),
    @Re2         varchar(50)
    as
    begin
    if exists(select 1 from Contact where [A]=@a and [c]=@c)--这里还需要加一个日期月份判断
    begin
        return 0--已存在
    end
    else
    begin
    insert into Contact([A],[B],[C],[Re1],[Re2])
                 Values(@A,@B,@C,@Re1,@Re2)
    return 1--表示成功
    end
    end这个判断条件 得加一个条件现在
      判断 日期中的月份是否与表中的日期月份有相同的传过来的格式是datetime格式 表中也是日期格式  怎么只截取其中的月份进行比较
    求解!!
      

  2.   

    if exists(select 1 from Contact where [A]=@a and month([c])=month(@c))--这里还需要加一个日期月份判断
      

  3.   

    谢了
    @A varchar(50),
    @B varchar(50),
    @C datetime, --日期格式
    @Re1 varchar(50),
    @Re2 varchar(50)
    as
    if exists(select 1 from Contact where [A]=@a and month([c])=month(@c))
    {
    //执行更新语句
      //更新语句中这里的需要给字段B(表中的类型也是字符型)累加  传过来的@B是字符数字。 该怎么给字段B+@B
    呢 这样?
    update 表 set b+=@B where ....  是这样写吗?
    }
      

  4.   

    BEGINdeclare pwd varchar(32);select f_password into pwd from tb_user_info where f_user_id = user_id;if ISNULL(pwd) then set rtn = 0;elseif pwd = password then set rtn = 1;else set rtn = 0;end if;end if;END