none
C#怎么调用sqlserver插入流水号函数 RRS feed

  • 问题

  • SQL函数:
    alter function AutoNum(@prefix varchar(3))
    returns varchar(20)
    as
    begin
    DECLARE @str VARCHAR(20), @dateStr VARCHAR(6),@num VARCHAR(5),@oldStr VARCHAR(20),@dt datetime
    select @dt=today from numdate
    SET @dateStr=RIGHT(YEAR(@dt),2)+RIGHT('0'+Convert(VARCHAR(2),MONTH(@dt)),2)
    +RIGHT('0'+Convert(VARCHAR(2),DAY(@dt)),2)
    SELECT @oldStr=MAX(pigID) FROM  pig

    IF @oldStr is not null
    begin
      declare @timer varchar(6),@amount varchar(5)--存放日期和流水号
      set @timer=substring(@oldStr,4,9)--截取时间6位
      set @amount=right(@oldStr,5)--截取流水号5位
      if @timer=@dateStr--如果数据库表中的日期和当前日期相等,则在流水号上加1
       set @str=@prefix+@timer+right('00000'+Convert(varchar(5),(@amount+1)),5)
      else
       set @str=@prefix+@dateStr+'00001'
     end
     IF @oldStr is null--如果数据表为空,则新生成一个编号
      begin
       set @str=@prefix+@dateStr+'00001'
      end
     return @str
    end
    go

    执行:insert into pig(pigID) values(dbo.AutoNum('HQ-'))
    怎么在C# winform程序里使用啊?

    2010年2月7日 14:44

答案

全部回复

  • 严重鄙视这种应付性的答案,请不要把别人想的和你一样高,否则的话论坛也就没有意义了。


    MSDN人人都会查,MSDN也不是绝对的。
    2010年2月8日 11:45
  • 我只能谢谢你“怀着好意来给你回答的”,That's all.问题我自己已经搞定了

    2010年2月8日 13:38