16,719
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 获取表数据的主键,格式为前缀+时间+流水号 如CK20120102001
/// </summary>
/// <param name="Ext">前缀,可以为空</param>
/// <param name="TableName">表名</param>
/// <param name="ColName">列名</param>
/// <param name="Format">时间格式化字符串(yyyyMMdd)</param>
/// <param name="len">流水号长度</param>
/// <returns>主键</returns>
public static string GetTablePK(string Ext, string TableName, string ColName, string Format, int len)
{
string time = Ext + DateTime.Now.ToString(Format);
string sql = "select max(right(" + ColName + "," + len.ToString() + ")+1) from " + TableName + " where " + ColName + " like '" + time + "%'";
object o = dosoft.DAL.DbHelperSQL.GetSingle(sql);
if (o == null || o.ToString() == "")
{
return time + "1".PadLeft(len, '0');
}
else
{
return time + o.ToString().PadLeft(len, '0');
}
}
不解释 自己看 好了给分 谢谢
string orderCode = string.Format("{0}{1}", DateTime.Now.ToString("yyyyMMdd"), (autoIncreaseVariable++).ToString().PadLeft(5, '0'));
其中autoIncreaseVariable可以是Int32或Int64。还是推荐Int64