今天打算把客户管理做完
一、数据准备
多弄几条数据,好练习分页、搜索,要生成以上数据。随机名字、手机、ID(比如UserId只能1、2、4、6及对应的UserName)、Number(两位随机大写英文和3位数字)
1、随机名字。感谢博客园AngelLee2009的一篇文章给我启发,但是略复杂,改进了一下
DECLARE @firstNames VARCHAR(MAX)=‘芳海亮红君军俊江河湖波杰山燕阳洋涛斌彬宾微伟威薇刚倩‘ --保存名的集合 DECLARE @lastNames VARCHAR(MAX)=‘刘方王李赵孙钱胡易黄温丁周魏陈曾涂‘ --保存姓的集合 declare @i int = 1 while(@i <= 10) begin PRINT ( SUBSTRING(@lastNames, ABS(CHECKSUM(NEWID()))%LEN(@lastNames)+1,1) + SUBSTRING(@firstNames, ABS(CHECKSUM(NEWID()))%LEN(@firstNames)+1,1) + SUBSTRING(@firstNames, ABS(CHECKSUM(NEWID()))%LEN(@firstNames)+1,1) ) set @i = @i + 1 END
李宾江 赵刚倩 黄海刚 赵燕微 胡河洋 温斌俊 魏倩海 魏斌微 魏洋亮 易倩倩
2、随机手机(13开头)
SELECT ‘13‘+RIGHT(1000000000 + CONVERT(BIGINT,ABS(CHECKSUM(NEWID()))), 9)
位数大的话超过了int要注意转成bigint,checksum会产生负数,最好要用ABS(),试了一下本例中不用ABS也是可以的,因为有了一层RIGHT()
一般这种情况重复的可能性非常非常小,位数少还有可能,9位随机数几乎就不可能重复了。
如果在项目中正式使用,为避免重复,可以在要生成的列上设置唯一索引,并把“忽略重复键”设为“是”,这样插入重复键时,会跳过(而不是全部失败)
这里只是生成随机手机号测试,就无所谓了
二、共享页的菜单路径显示(点击事件的js)
时间: 2024-11-07 21:06:08