您的位置:首页 > 数据库

C# 根据数据库 自动生成最大编号,应用于各编号的生成

2018-01-23 10:39 399 查看
闲话不说,依旧这么直接,直接上代码:
/// <summary>
/// 自动生成6位编号,应用于各基本信息中的编号生成
/// </summary>
/// <param name="TableName">表名</param>
/// <param name="FieldName">字段名</param>
/// <returns></returns>
public string AutoCreateID(string TableName,string FieldName)
{
string Str = "select max(" + FieldName + ") id from " + TableName;//000005
string maxID = MisLesson.DAL.DbHelperSQL.GetSingle(Str).ToString();//
if (maxID == "")//000005
{
maxID = "000001";
}
else
{
maxID = (Convert.ToInt32(maxID) + 1).ToString("000000");//
}
return maxID;
}

/// <summary>
/// 自动生成14位编号,应用于各业务单据中的编号生成
/// </summary>
/// <param name="flag">单据类型标识</param>
/// <param name="TableName">数据表名</param>
/// <param name="FieldName">字段名</param>
/// <returns>返回值:最大编号</returns>
public string AutoCreateID(string flag, string TableName, string FieldName)
{
string sDate = GetServerSysDate("yyyyMMdd");//
string Str = "select max(" + FieldName + ") id from " + TableName;//
object obj = MisLesson.DAL.DbHelperSQL.GetSingle(Str);
string maxID = "";
if (obj != null)
maxID =MisLesson.DAL.DbHelperSQL.GetSingle(Str).ToString();//

string Result = "";
if (maxID == "")
{
Result = flag + sDate + "0001";//
}
else//
{
string sFirstEight = maxID.Substring(2, 8);//
string sLastFour = maxID.Substring(10, 4);//
if (sDate == sFirstEight)
{
string sNewLastFour = (Convert.ToInt32(sLastFour) + 1).ToString("0000");//
Result = flag + sDate + sNewLastFour;//
}
else
{
Result = flag + sDate + "0001";//
}
}
return Result;
}
本人技术讨论QQ群:BUG制作者协会:121942786
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: