1.生成格式:工单类型-日期-四位流水号(例如:1101-20100517-1104)
存储过程:
Create PROCEDURE [dbo].[cs_SPCreateFormKey]
AS
DECLARE
@currentmaxid char(4),
@id char(4)
BEGIN
SET NOCOUNT ON;
SELECT @currentmaxid =max(right(工单号,4)) from csForm where substring(工单号,6,8)= CONVERT(char(8),getdate(),112);
if @currentmaxid is null
begin
set @id='1000'
end
else begin
--否则依号递增
set @id=convert(char(4),convert(int,@currentmaxid)+1)
end
select @id as ID
END
2.C#调用
public override string StringFormKey()
{
string formKey = "0000";
using (SqlConnection conn = this.GetSqlConnection())
{
SqlCommand cmd = new SqlCommand("cs_SPCreateFormKey", conn);
cmd.CommandType = CommandType.StoredProcedure;
// 执行
conn.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
formKey = Convert.ToString(dr["id"]);
dr.Close();
cmd.Dispose();
conn.Close();
}
return formKey;
}