C#编写流水号
公司要求
近期公司财务部门要求打印预算申请单时流水号格式为[“Print”+年份+流水号]并存入到数据库当中,
比如今年是2021年,打印第一份申请单,打印出来的内容应该为"Print210001"
注意:需要数据库中有一条基础数据
实现代码如下:
希望对大家有帮助
/// <summary>
/// 获取最大打印编号并加1
/// </summary>
/// <returns></returns>
private string GetPrintIdMaxPlusOne()
{
int printId = 0;
string pId = null;
using (SqlConnection con = new SqlConnection(conStr))
{
con.Open();
string sqlCmd = "SELECT TOP(1) [PrintID] FROM [BudgetForm] ORDER BY [PrintID] Desc";
using (SqlCommand cmd = new SqlCommand(sqlCmd, con))
{
string temp;
temp = cmd.ExecuteScalar().ToString();
string temp1 = temp[5].ToString() + temp[6].ToString();
if (temp1 == (Convert.ToInt32(DateTime.Now.Year) % 100).ToString())
{
for (int i = 7; i < temp.Length; i++)
{
pId += temp[i];
}//end for
printId = int.Parse(pId);
printId++;
pId = "";
switch (printId.ToString().Length)
{
case 1:
pId = "000" + printId.ToString();
break;
case 2:
pId = "00" + printId.ToString();
break;
case 3:
pId = "0" + printId.ToString();
break;
case 4:
pId = printId.ToString();
break;
}
}
else
{
pId = "0001";
}
}//end using cmd
}//end using con
return ("Print" + (Convert.ToInt32(DateTime.Now.Year) % 100).ToString() + pId);
}//end GetPrintIdMaxPlusOne()