代码有点老,且没优化,贴下仅供参考:
declare @i int, @j int, @str Nvarchar(max),@temp nvarchar(10), @tempreg nvarchar(10)
set @i=0
set @j=0
set @str =''
set @temp=''
set @tempreg=''
while @i<=15
begin
set @temp= case @i when 10 then 'a' when 11 then 'b' when 12 then 'c'
when 13 then 'd' when 14 then 'e' when 15 then 'f'
else CONVERT(varchar(20), @i) end;
while @j<=15
begin
set @tempreg= case @j when 10 then 'a' when 11 then 'b' when 12 then 'c'
when 13 then 'd' when 14 then 'e' when 15 then 'f'
else CONVERT(varchar(20), @j) end;
set @str='CREATE TABLE [dbo].[Student_'+ @temp + @tempreg +'](
[id] [bigint] IDENTITY(1,1) NOT NULL,
[name] [nvarchar](10) NULL,
[age] [tinyint] NULL
) ON [PRIMARY]';
EXEC(@str) --执行
set @tempreg='' --清空
set @j=@j+1
end
set @j=0 --重置
set @i=@i+1
end
对应c#代码的映射处理:
再看看BitConvert方法
System.BitConverter.ToString(.....
它实现的源代码:可以看这里
对于插入数据的时候,可以通过Guid或者设定一个随机数(区间得看你预估的数据空间了,同时要考虑数据的增长)
private static string GetPre()
{
string md = Md5EncryptClassic(Guid.NewGuid().ToString());
return md.Substring(0, 2).ToLower();
}
static void Main(string[] args)
{
Console.WriteLine(GetPre());
Console.WriteLine("按任意键继续...");
int _key = 0;
while (true)
{
_key = (int)Console.ReadKey(true).Key;
if (_key == 27)
break;
Console.WriteLine(GetPre());
}
}