日期:2014-05-19  浏览次数:20415 次

asp.net小问题求解决
问题是这样的,我一个表单提交页面,当我提交表单的时候,将要自动生成一个定单号码,并写入数据库的shdet字段,这是一个主键,唯一值,例如,当我提交表单的时候,就回在这个字段插入了这个定单号码,如200703280001,而第2次提交的时候,由要插入另一个值,如200703280002,后面的这个0001,0002,是要自动增加1
 
而20070328的话是时间,我是这样获取并插入数据库

insertCmd.Parameters.Add( "@shdet ",System.Data.SqlDbType.Decimal,13);
insertCmd.Parameters[ "@shdet "].Value=DateTime.Now.ToString( "yyyyMMdd ");
但后面的0001,0002,0003,怎么自动增加并写入数据库呢?并且我要在提交的时候,显示出这个定单号码,如弹出一个提示框 "你的定单号码为20070328.... "


------解决方案--------------------
在数据库中存放建一个字段存放0001,取出后加入到shdet字段中,然后加1,在存回数据库中!
------解决方案--------------------
查询数据库。如果不知道如何写某日的最大流水号的查询语句,可以到数据库的相关论坛去问问。
------解决方案--------------------
oceansun说的比较简单,不过没考虑到并发性
建议还是左个数据库的trigger吧