提交一申请表单,如何产生惟一的单号【新手提问,】
最好单号以:年月日+三位数字 插入数据库!
例如:20130630+001 =20130630001
后面的再申请的单号都自增 2013063000X(X=1---999)
代码如何实习,或者指点下,说下大概思路等等...
【自学,C# ASP.net MSSQL 吃力啊】 ASP.NET C#
[解决办法]
将id定义为成员变量
DateTime.Now.ToString("yyyyMMdd") + id.ToString();
id++;
[解决办法]
DataTable dt = dbbase.getDataSet(ls_sql).Tables[0];
string buss_YM = DateTime.Now.ToString("yyyyMM");
if (dt.Rows.Count == 0)
{
seq_id = buss_YM + "001";
dbbase.ExecuteSql("insert into pub_sequence values('" + as_tablename + "'," + seq_id + ")");
}
else
{
string id_str = dt.Rows[0]["CURRENT_VALUE"].ToString();
if (id_str.Length > 6 && id_str.Substring(0, 6) == buss_YM)
{
li_dqz = Convert.ToInt64(id_str);
li_dqz += 1;
seq_id = li_dqz.ToString();
dbbase.ExecuteSql("update pub_sequence set current_value=" + seq_id + " where table_name= '" + as_tablename + "'");
}
else
{
seq_id = buss_YM + "001";
dbbase.ExecuteSql("update pub_sequence set current_value=" + seq_id.ToString() + " where table_name= '" + as_tablename + "'");
}
}
return seq_id;
}
其中参数里的那个table就是你需要生成单号的那个表,pub_sequence表就是用来存放你的表名和当前ID的表。