`
yiyeqinghuasoon
  • 浏览: 638912 次
文章分类
社区版块
存档分类
最新评论

自动生成测试数据共享加强版

 
阅读更多

转载请标明出处,引用请保留头注视。第一版链接

http://topic.csdn.net/u/20080516/15/3fcf4880-67e9-4a28-844d-05985db51215.html

---------------------------------------------------------------------

-- 自动生成测试数据共享加强版

--

-- 基本特性

-- * 表前缀:@表变量、#临时表、$实体表,支持混合多表。

-- * 无表名:@1...@n #1...#n T1...Tn

-- * 无列名:C1...Cn

-- * 少列名:Cm...Cn

-- * 列分隔:空格和TAB键。

-- * 列填充:数据左边对齐原则,数据不足右向填充NULL

-- * 占位符:分号(;),控制数据位置,左向填充NULL

-- * 字符集:不考虑UNICODE/NCHAR,网页能够正常显示的应该没问题,网页不能正常显示的,UNICODE也没用。

--

-- 加强特性

-- * 优化数据类型解析,基本上涵盖了所有的原始测试数据形式。

-- * 逗号(,)不再作为列分隔符,添加指定列分隔符控制,具体方法见示例。

-- * 连续(;;)或离散(;)的分号才会被解析为占位符,维持数据中的分号。

--

-- 解析类型

-- * int

-- * bigint

-- * money (New)

-- * numeric

-- * float

-- * datetime

-- * varchar

-- * varbinary (New)

-- * uniqueidentifier (New)

-- * sql_variant

--

-- Limpire(昨夜小楼)

-------------------------------------------------------------------------------

CREATE PROCEDURE CS#

(

@Input varchar(8000)

)

AS

SET NOCOUNT ON

declare @tid int,@cid int,@pos int,@num int,@p int,@s int,@tb sysname,@spt varchar(20),@inf varchar(2000),@col varchar(4000),@def sysname,@ent varchar(2),@sql varchar(8000)

declare @tables table(id int identity primary key,name sysname)

declare @data table(id int identity primary key,data varchar(8000),fc as nullif(left(nullif(data,''),charindex(' ',nullif(data,''))-1),'null'))

declare @temp table(id int primary key,temp varchar(4000))

declare @code table(id int primary key,code varchar(8000))

--> 格式整理

set @Input=replace(replace(replace(@Input collate Chinese_PRC_CS_AS_KS_WS,' ',' '),char(9),' '),char(13),char(10))

set @Input=char(10)+ltrim(rtrim(@Input))+char(10)

while charindex(char(10)+char(10),@Input)>0 set @Input=replace(@Input,char(10)+char(10),char(10))

set @Input=stuff(@Input,1,1,'')

if @Input not like '[@#$]%' and @Input not like '0[@#$]%' return

set @Input=replace(replace(@Input,'','.'),'•','.')

select top 94 n=identity(tinyint,33,1) into # from syscolumns

select @Input=replace(@Input collate Chinese_PRC_CS_AS_KS_WS,nchar(n+65248),char(n)) from #

while charindex(' ',@Input)>0 set @Input=replace(@Input,' ',' ')

set @Input=replace(@Input,char(10)+' ',char(10))

set @Input=replace(@Input,' '+char(10),char(10))

select @ent=char(13)+char(10),@pos=charindex(char(10),@Input)

--> 解析数据

while @Input<>''

begin

select @tb=left(@Input,@pos-1),@tid=isnull(@tid,0)+1,@Input=stuff(@Input,1,@pos,''),@pos=charindex(char(10),@Input)

if @tb like '0%' set @tb=stuff(@tb,1,1,'')

else select @inf=left(@Input,@pos-1)+' ',@Input=stuff(@Input,1,@pos,''),@pos=charindex(char(10),@Input)

if @tb like '%/%' select @spt=stuff(@tb,1,charindex('/',@tb),''),@tb=left(@tb,charindex('/',@tb)-1)

if @tb like '$%' set @tb=stuff(@tb,1,1,'')

if @tb='' set @tb='T'

if len(@tb)=1 set @tb=@tb+ltrim(@tid)

if @tb like '[^@#]%' set @tb='['+@tb+']'

insert @tables select @tb

while @pos>0

begin

insert @data select left(@Input,@pos-1)+' '

select @Input=stuff(@Input,1,@pos,''),@pos=charindex(char(10),@Input)

if @Input like '[@#$]%' or @Input like '0[@#$]%' break

end

if @spt is not null

begin

set @inf=replace(@inf,@spt,' ')

while charindex(' ',@inf)>0 set @inf=replace(@inf,' ',' ')

update @data set data=replace(data,@spt,' ')

while exists (select 1 from @data where charindex(' ',data)>0) update @data set data=replace(data,' ',' ') where charindex(' ',data)>0

end

delete @data where data not like '%[^ -]%'

insert @code select id,null from @data

while exists (select 1 from @data where data<>'')

begin

set @cid=isnull(@cid,0)+1

insert @temp select id,case when fc not like '%[^;]%' then null else fc end from @data

update @data set data=case when fc not like '%[^;]%' and len(fc)>1 then stuff(fc,1,1,'')+' ' else '' end+stuff(data,1,charindex(' ',data),'')

if exists (select 1 from @temp a join @data b on a.id=b.id and temp is not null and fc is not null and isdate(temp)=1 and isdate(fc)=1) and not exists (select 1 from @temp a join @data b on a.id=b.id and temp is not null and fc is not null and isdate(temp+case when fc not like '%[^;]%' then '' else ' '+fc end)=0)

begin

update a set temp=temp+case when fc not like '%[^;]%' then '' else ' '+fc end from @temp a join @data b on a.id=b.id where temp is not null and fc is not null

update @data set data=case when fc not like '%[^;]%' and len(fc)>1 then stuff(fc,1,1,'')+' ' else '' end+stuff(data,1,charindex(' ',data),'')

end

select @num=max(datalength(temp)) from @temp where temp is not null

if @num is null set @def='sql_variant'

else if not exists (select 1 from @temp where temp is not null and isnumeric(temp)=0)

begin

if exists (select 1 from @temp where (len(temp)>1 and temp like '0%' and temp not like '%[^0-9]%') or temp like '%,%') set @def=@num

else if exists (select 1 from @temp where patindex('%[Ee]%',temp)>0) set @def='float'

else if exists (select 1 from @temp where len(replace(replace(replace(temp,'+',''),'-',''),'.',''))>@@max_precision) set @def=@num

else if exists (select 1 from @temp where temp like '%[^0-9.+-]%') set @def='money'

else if exists (select 1 from @temp where temp like '%.%')

begin

select @p=max(len(parsename(n,2))),@s=max(len(parsename(n,1))) from (select n+case when n like '%.' then ' ' when n like '%.%' then '' else '. ' end n from (select replace(replace(temp,'+',''),'-','')n from @temp where temp is not null) a) b

if @p+@s>@@max_precision set @def='float'

else set @def='numeric('+ltrim(@p+@s)+','+ltrim(@s)+')'

end

else if exists (select 1 from @temp where temp is not null and isdate(temp)=0 or len(temp)<>8)

begin

if exists (select 1 from @temp where cast(temp as numeric(38,0)) not between -9223372036854775808 and 9223372036854775807) select @def='numeric('+ltrim(max(len(replace(replace(temp,'+',''),'-',''))))+',0)' from @temp where temp is not null

else if exists (select 1 from @temp where cast(temp as numeric(38,0)) not between -2147483648 and 2147483647) set @def='bigint'

else set @def='int'

end

else set @def='datetime'

end

else if not exists (select 1 from @temp where temp is not null and isdate(temp)=0) set @def='datetime'

else if not exists (select 1 from @temp where temp not like '0x%' or temp like '0x%[^0-9a-f]%') select @def='varbinary('+ltrim((@num-3)/2+1)+')'

else if not exists (select 1 from @temp where temp not like replicate('[0-9a-z]',8)+replicate('[-]'+replicate('[0-9a-z]',4),3)+'[-]'+replicate('[0-9a-z]',12)) set @def='uniqueidentifier'

else set @def=@num

if isnumeric(@def)=1 set @def='varchar('+@def+')'

set @col=isnull(@col+',','')+'['+isnull(left(@inf,charindex(' ',@inf)-1),'C'+ltrim(@cid))+'] '+@def

select @inf=nullif(stuff(@inf,1,charindex(' ',@inf),''),''),@def=left(@def+'(',charindex('(',@def+'(')-1)

update a set code=isnull(code+',','select ')+case when @def in ('datetime','varchar','uniqueidentifier') then isnull(''''+temp+'''','null') else isnull(temp,'null') end from @code a join @temp b on a.id=b.id

delete @temp

end

if @inf is not null

begin

update @code set code=code+replicate(',null',len(@inf)-len(replace(@inf,' ',''))+1)

set @col=@col+',['+replace(rtrim(@inf),' ','] sql_variant,[')+'] sql_variant'

end

select @sql=isnull(@sql+' union all'+@ent,'')+code from @code

print '--> 测试数据:'+@tb

print case when @tb like '@%' then 'declare '+@tb+' table' else 'if object_id('''+case when @tb like '#%' then 'tempdb.dbo.' else '' end+@tb+''') is not null drop table '+@tb+@ent+'create table '+@tb end+'('+@col+')'+@ent+'insert '+@tb

print @sql

delete @data

delete @code

select @cid=null,@spt=null,@inf=null,@col=null,@sql=null

end

--> 智能代码()

select @sql=isnull(@sql+@ent,@ent)+'select * from '+name from @tables

print @sql

SET NOCOUNT OFF

GO

-------------------------------------------------------------------------------

-- 自动生成测试数据共享加强版

--

-- 基本特性

-- * 表前缀:@表变量、#临时表、$实体表,支持混合多表。

-- * 无表名:@1...@n #1...#n T1...Tn

-- * 无列名:C1...Cn

-- * 少列名:Cm...Cn

-- * 列分隔:空格和TAB键。

-- * 列填充:数据左边对齐原则,数据不足右向填充NULL

-- * 占位符:分号(;),控制数据位置,左向填充NULL

-- * 字符集:不考虑UNICODE/NCHAR,网页能够正常显示的应该没问题,网页不能正常显示的,UNICODE也没用。

--

-- 加强特性

-- * 优化数据类型解析,基本上涵盖了所有的原始测试数据形式。

-- * 逗号(,)不再作为列分隔符,添加指定列分隔符控制,具体方法见示例。

-- * 连续(;;)或离散(;)的分号才会被解析为占位符,维持数据中的分号。

--

-- 解析类型

-- * int

-- * bigint

-- * money (New)

-- * numeric

-- * float

-- * datetime

-- * varchar

-- * varbinary (New)

-- * uniqueidentifier (New)

-- * sql_variant

--

-- Limpire(昨夜小楼)

-------------------------------------------------------------------------------

CREATE PROCEDURE CS#

(

@Input varchar(8000)

)

AS

SET NOCOUNT ON

declare @tid int,@cid int,@pos int,@num int,@p int,@s int,@tb sysname,@spt varchar(20),@inf varchar(2000),@col varchar(4000),@def sysname,@ent varchar(2),@sql varchar(8000)

declare @tables table(id int identity primary key,name sysname)

declare @data table(id int identity primary key,data varchar(8000),fc as nullif(left(nullif(data,''),charindex(' ',nullif(data,''))-1),'null'))

declare @temp table(id int primary key,temp varchar(4000))

declare @code table(id int primary key,code varchar(8000))

--> 格式整理

set @Input=replace(replace(replace(@Input collate Chinese_PRC_CS_AS_KS_WS,' ',' '),char(9),' '),char(13),char(10))

set @Input=char(10)+ltrim(rtrim(@Input))+char(10)

while charindex(char(10)+char(10),@Input)>0 set @Input=replace(@Input,char(10)+char(10),char(10))

set @Input=stuff(@Input,1,1,'')

if @Input not like '[@#$]%' and @Input not like '0[@#$]%' return

set @Input=replace(replace(@Input,'','.'),'•','.')

select top 94 n=identity(tinyint,33,1) into # from syscolumns

select @Input=replace(@Input collate Chinese_PRC_CS_AS_KS_WS,nchar(n+65248),char(n)) from #

while charindex(' ',@Input)>0 set @Input=replace(@Input,' ',' ')

set @Input=replace(@Input,char(10)+' ',char(10))

set @Input=replace(@Input,' '+char(10),char(10))

select @ent=char(13)+char(10),@pos=charindex(char(10),@Input)

--> 解析数据

while @Input<>''

begin

select @tb=left(@Input,@pos-1),@tid=isnull(@tid,0)+1,@Input=stuff(@Input,1,@pos,''),@pos=charindex(char(10),@Input)

if @tb like '0%' set @tb=stuff(@tb,1,1,'')

else select @inf=left(@Input,@pos-1)+' ',@Input=stuff(@Input,1,@pos,''),@pos=charindex(char(10),@Input)

if @tb like '%/%' select @spt=stuff(@tb,1,charindex('/',@tb),''),@tb=left(@tb,charindex('/',@tb)-1)

if @tb like '$%' set @tb=stuff(@tb,1,1,'')

if @tb='' set @tb='T'

if len(@tb)=1 set @tb=@tb+ltrim(@tid)

if @tb like '[^@#]%' set @tb='['+@tb+']'

insert @tables select @tb

while @pos>0

begin

insert @data select left(@Input,@pos-1)+' '

select @Input=stuff(@Input,1,@pos,''),@pos=charindex(char(10),@Input)

if @Input like '[@#$]%' or @Input like '0[@#$]%' break

end

if @spt is not null

begin

set @inf=replace(@inf,@spt,' ')

while charindex(' ',@inf)>0 set @inf=replace(@inf,' ',' ')

update @data set data=replace(data,@spt,' ')

while exists (select 1 from @data where charindex(' ',data)>0) update @data set data=replace(data,' ',' ') where charindex(' ',data)>0

end

delete @data where data not like '%[^ -]%'

insert @code select id,null from @data

while exists (select 1 from @data where data<>'')

begin

set @cid=isnull(@cid,0)+1

insert @temp select id,case when fc not like '%[^;]%' then null else fc end from @data

update @data set data=case when fc not like '%[^;]%' and len(fc)>1 then stuff(fc,1,1,'')+' ' else '' end+stuff(data,1,charindex(' ',data),'')

if exists (select 1 from @temp a join @data b on a.id=b.id and temp is not null and fc is not null and isdate(temp)=1 and isdate(fc)=1) and not exists (select 1 from @temp a join @data b on a.id=b.id and temp is not null and fc is not null and isdate(temp+case when fc not like '%[^;]%' then '' else ' '+fc end)=0)

begin

update a set temp=temp+case when fc not like '%[^;]%' then '' else ' '+fc end from @temp a join @data b on a.id=b.id where temp is not null and fc is not null

update @data set data=case when fc not like '%[^;]%' and len(fc)>1 then stuff(fc,1,1,'')+' ' else '' end+stuff(data,1,charindex(' ',data),'')

end

select @num=max(datalength(temp)) from @temp where temp is not null

if @num is null set @def='sql_variant'

else if not exists (select 1 from @temp where temp is not null and isnumeric(temp)=0)

begin

if exists (select 1 from @temp where (len(temp)>1 and temp like '0%' and temp not like '%[^0-9]%') or temp like '%,%') set @def=@num

else if exists (select 1 from @temp where patindex('%[Ee]%',temp)>0) set @def='float'

else if exists (select 1 from @temp where len(replace(replace(replace(temp,'+',''),'-',''),'.',''))>@@max_precision) set @def=@num

else if exists (select 1 from @temp where temp like '%[^0-9.+-]%') set @def='money'

else if exists (select 1 from @temp where temp like '%.%')

begin

select @p=max(len(parsename(n,2))),@s=max(len(parsename(n,1))) from (select n+case when n like '%.' then ' ' when n like '%.%' then '' else '. ' end n from (select replace(replace(temp,'+',''),'-','')n from @temp where temp is not null) a) b

if @p+@s>@@max_precision set @def='float'

else set @def='numeric('+ltrim(@p+@s)+','+ltrim(@s)+')'

end

else if exists (select 1 from @temp where temp is not null and isdate(temp)=0 or len(temp)<>8)

begin

if exists (select 1 from @temp where cast(temp as numeric(38,0)) not between -9223372036854775808 and 9223372036854775807) select @def='numeric('+ltrim(max(len(replace(replace(temp,'+',''),'-',''))))+',0)' from @temp where temp is not null

else if exists (select 1 from @temp where cast(temp as numeric(38,0)) not between -2147483648 and 2147483647) set @def='bigint'

else set @def='int'

end

else set @def='datetime'

end

else if not exists (select 1 from @temp where temp is not null and isdate(temp)=0) set @def='datetime'

else if not exists (select 1 from @temp where temp not like '0x%' or temp like '0x%[^0-9a-f]%') select @def='varbinary('+ltrim((@num-3)/2+1)+')'

else if not exists (select 1 from @temp where temp not like replicate('[0-9a-z]',8)+replicate('[-]'+replicate('[0-9a-z]',4),3)+'[-]'+replicate('[0-9a-z]',12)) set @def='uniqueidentifier'

else set @def=@num

if isnumeric(@def)=1 set @def='varchar('+@def+')'

set @col=isnull(@col+',','')+'['+isnull(left(@inf,charindex(' ',@inf)-1),'C'+ltrim(@cid))+'] '+@def

select @inf=nullif(stuff(@inf,1,charindex(' ',@inf),''),''),@def=left(@def+'(',charindex('(',@def+'(')-1)

update a set code=isnull(code+',','select ')+case when @def in ('datetime','varchar','uniqueidentifier') then isnull(''''+temp+'''','null') else isnull(temp,'null') end from @code a join @temp b on a.id=b.id

delete @temp

end

if @inf is not null

begin

update @code set code=code+replicate(',null',len(@inf)-len(replace(@inf,' ',''))+1)

set @col=@col+',['+replace(rtrim(@inf),' ','] sql_variant,[')+'] sql_variant'

end

select @sql=isnull(@sql+' union all'+@ent,'')+code from @code

print '--> 测试数据:'+@tb

print case when @tb like '@%' then 'declare '+@tb+' table' else 'if object_id('''+case when @tb like '#%' then 'tempdb.dbo.' else '' end+@tb+''') is not null drop table '+@tb+@ent+'create table '+@tb end+'('+@col+')'+@ent+'insert '+@tb

print @sql

delete @data

delete @code

select @cid=null,@spt=null,@inf=null,@col=null,@sql=null

end

--> 智能代码()

select @sql=isnull(@sql+@ent,@ent)+'select * from '+name from @tables

print @sql

SET NOCOUNT OFF

GO

--------------------------------------------------------------------------------

加强版使用示例

view plaincopy to clipboardprint?

--> 多表

exec cs# '@var/,

id data

1, 表变量@

2, 指定逗号为列分隔符

3 空格和TAB是默认列分隔符

#tmp

id data

-- -------

1 临时表#

2 忽略分隔横线

3 默认逗号不是列分隔符:a,b,c,d

$tab

id data

---- -------

1 实体表$

2 保留null

null null'

go

--> 无表名/无列名(表前缀@#$前用修饰)

exec cs# '@

id data

1 无表名

0#tmp

2 无列名

0$

3 双无'

go

--> 动态列名:列名不足动态添加Cm...Cn,数据左边对齐原则。

exec cs# '@dynamic_column_name

a

11 12 13

21 22

31'

go

--> 动态填充:数据列不足,右向填充NULL值。

exec cs# '@dynamic_fill_null

a b c d e

11 12 13

21 22

31'

go

--> 占位符:控制数据的位置,左向填充NULL值。

exec cs# '@semicolon

a b c d e

11 12 13

; 21 22

; ; 31'

go

--> 占位符增强特性:数据中的分号不会解析为占位符。

exec cs# '@semicolon

a b c d

; ;; 连续;;或离散;才会被解析为占位符'

go

--> 时间解析

exec cs# '@time

id date boy

1 2001-1-1 Mark

2 20020101 John

3 23:15:39 Paul'

go

--> 时间解析

exec cs# '@time

id date boy

1 2001-1-1 12:28:47 Mark

2 20020101 17:30:00 John

3 2003/1/1 23:15:39 Paul'

go

--> 基本上可以覆盖所有的原始测试数据形式

exec cs# '0@data_type

001 1,2,3 1.0E10 123456789012345678901234567890123456789 $9.99 9.99 9223372036854775808 -9223372036854775808 -2147483648 20080101 2008-07-05 23:59:59.000 0x1234 681000D3-0E3A-49ED-8F59-80973A021B8E A

002 4,5,6 2.0E11 111111111111111111111111111111111111111 99.99 99.99 99999999999999999999999999999999999999 9223372036854775807 2147483647 20081231 2008-07-06 00:00:00.000 0xabcd 09E80A5C-7699-4BC9-AEF4-B0BCCF2E03E9 B'

go

/*

PS

表前缀$和美元符号$冲突,如美元货币类型出现在第一列会报错。

$99.9这种原始测试数据形式实属罕见,有需要者自行修改表前缀定义。

*/

--> 多表

exec cs# '@var/,

id data

1, 表变量@

2, 指定逗号为列分隔符

3 空格和TAB是默认列分隔符

#tmp

id data

-- -------

1 临时表#

2 忽略分隔横线

3 默认逗号不是列分隔符:a,b,c,d

$tab

id data

---- -------

1 实体表$

2 保留null

null null'

go

--> 无表名/无列名(表前缀@#$前用修饰)

exec cs# '@

id data

1 无表名

0#tmp

2 无列名

0$

3 双无'

go

--> 动态列名:列名不足动态添加Cm...Cn,数据左边对齐原则。

exec cs# '@dynamic_column_name

a

11 12 13

21 22

31'

go

--> 动态填充:数据列不足,右向填充NULL值。

exec cs# '@dynamic_fill_null

a b c d e

11 12 13

21 22

31'

go

--> 占位符:控制数据的位置,左向填充NULL值。

exec cs# '@semicolon

a b c d e

11 12 13

; 21 22

; ; 31'

go

--> 占位符增强特性:数据中的分号不会解析为占位符。

exec cs# '@semicolon

a b c d

; ;; 连续;;或离散;才会被解析为占位符'

go

--> 时间解析

exec cs# '@time

id date boy

1 2001-1-1 Mark

2 20020101 John

3 23:15:39 Paul'

go

--> 时间解析

exec cs# '@time

id date boy

1 2001-1-1 12:28:47 Mark

2 20020101 17:30:00 John

3 2003/1/1 23:15:39 Paul'

go

--> 基本上可以覆盖所有的原始测试数据形式

exec cs# '0@data_type

001 1,2,3 1.0E10 123456789012345678901234567890123456789 $9.99 9.99 9223372036854775808 -9223372036854775808 -2147483648 20080101 2008-07-05 23:59:59.000 0x1234 681000D3-0E3A-49ED-8F59-80973A021B8E A

002 4,5,6 2.0E11 111111111111111111111111111111111111111 99.99 99.99 99999999999999999999999999999999999999 9223372036854775807 2147483647 20081231 2008-07-06 00:00:00.000 0xabcd 09E80A5C-7699-4BC9-AEF4-B0BCCF2E03E9 B'

go

/*

PS

表前缀$和美元符号$冲突,如美元货币类型出现在第一列会报错。

$99.9这种原始测试数据形式实属罕见,有需要者自行修改表前缀定义。

*/

Limpire

2008-07-07

本文来自CSDN博客,转载请标明出处:

http://blog.csdn.net/Limpire/archive/2008/07/07/2623016.aspx

分享到:
评论

相关推荐

    小学语文学习软件(家长版)

    写给自己孩子用的语文基础知识学习软件,自动标注字(词)拼音、支持多音字,可按每课、每单元、全册教材生成测试题和复习资料,能够汇总作家作品、文言文、古诗、课文中要求背诵内容生成复习资料。 当前发布版本为...

    教师工作助手

    )试题自动生成、手动组卷、题库导出/导入、在线测试、阶段测试评估、科任考试成绩处理、班主任考试成绩处理功能。主要特点有: 1、对试题进行收集整理-建立完善的完整的自己的试题库 2、人性化-试题收集及修改...

    EXCEL集成工具箱V8.0完整增强版(精简)

    EXCEL集成工具箱V8.0 多国语言版(2003-2010通用)增强版! * 软件大小: 22.90MB * 软件授权: 免费共享软件 * 软件语言: 多国语言[中文繁体/简体/英文] * 开 发 商: 创思维软件工作室 * 更新时间: 2010-09-22...

    索美田径运动会编排管理系统专业版

    3、提供强大的接力项目和全能子项目的检录、成绩单自动生成功能。 4、参赛项目分组数据可直接导出支持电计时和集体项目的分组报名。 5、比赛纪录和运动员级别自动判定加分。 6、支持无线网络联机处理和比赛成绩联网...

    RevTime(智能解除共享软件的时间限制)v2.50 绿色版

    新版的时光倒流已具备了自动生成快捷方式的功能,以上一切设置无误的 话,按[快捷方式]按钮,您桌面上就多了个快捷方式图标,以后直接用此即可 方便地通过运行时光倒流来启动您的限期软件。另外,如果您想改变已经...

    APIJSON网络传输协议 v4.5.0

    自动管理与测试接口用例,一键共享 自动给请求JSON加注释,一键切换 2、对于前端 不用再向后端催接口、求文档 数据和结构完全定制,要啥有啥 看请求知结果,所求即所得 可一次获取任何数据、任何结构 能去除...

    Visual C++实践与提高-COM和COM+篇『PDF』

    13.5 利用共享属性管理器共享状态——例程Steps 13.5.1 共享属性管理器 13.5.2 修改Step4程序 13.5.3 测试组件 13.6 使用多事务处理——例程Step6 13.6.1 修改Step5程序 13.6.2 测试组件 13.7 使用基于角色的安全性...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    CLR.via.C#.(中文第3版)(自制详细书签)Part2 CLR via C#(第3版) Jeffrey Richter 著 周靖 译 出版时间:2010年09月 页数:800 介绍 享有全球盛誉的编程专家Jeffrey Richter,这位与Microsoft .NET开发团队合作...

    易语言程序免安装版下载

    易语言5.0测试版1发布于2009/12/28,是易语言5.0静态编译版第一个公开测试版本 ******************************************************************************** ** 以下是易语言4.x及以前版本的升级信息 ...

    阿赛企业网站系统 v19.zip

    整站幻灯片为旧版的加强版支持所有常规浏览器,并已测试通过,纯js css完成,支持一个页面调用多个幻灯片; 系统使用三色调配原则,大家可以按颜色喜欢在后台直接调配喜欢的色彩风格,实现秒变风格; 独立的留言...

    动易标准版SiteFactory.Standard_3.5版

    SiteFactory™ 3.5版在模板标签解析性能上进行了大幅改进,据有效测试运行速度可至少提升4倍!系统全新的栏目列表增量生成、系统后台页面预编译等功能也为SiteFactory™ 性能的大幅提升提供了强有力的支持。此外,...

    citrix 中文管理操作手册

    自动刷新用户数据 98 使用会话重影操作查看用户会话 99 使用重影任务栏执行重影操作 99 退出重影任务栏 100 选择要为其添加重影的用户 100 结束重影会话 100 使用 Access Management Console 执行重影操作 101 启用...

    精通DirectX.3D图形与动画程序设计.pdf

    第二部分介绍了direct3d程序设计的相关高级技术,包括多层纹理映射、纹理坐标自动生成与变换、环境映射、凹凸纹理映射、立体纹理、纹理压缩、.x文件格式分析、网格模型优化、层次细节网格模型、增强网格模型、蒙皮...

    C#微软培训资料

    18.3 版 本 控 制 .249 18.4 代 码 优 化 .252 18.5 小 结 .254 第五部分 附 录 .255 附录 A 关 键 字.255 附录 B 错 误 码.256 附录 C .Net 名字空间成员速查.269 参 考 资 料 .300 &lt;&lt;page 4&gt;&gt; page...

    Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

    7.3.3 测试数据访问代码 295 7.3.4 使用generate from usage特性 302 7.4 其他visual studio版本 306 7.5 第三方测试框架 306 7.6 小结 307 第ii部分 业务对象和数据访问第8章 数组、集合和泛型 311 8.1...

    jeesuite-libs-其他

    由(jeesuite-admin)输出兼容遗留kafka系统、支持发送和接收无封装的消息mybatis模块代码生成、自动CRUD、可无缝对接mybaits增强框架Mapper基于properties配置多数据源支持,无需修改XML读写分离,事务内操作强制读...

    Access 2000中文版高级编程(part1)

    Access2000中文版高级编程 目录 第一部分 编程基础 1 第1章 宏与代码 3 1.1 何时使用代码代替宏 4 1.1.1 何时用宏 4 1.1.2 何时用代码 4 1.2 宏到代码的转换 5 1.2.1 使用DoCmd对象 5 1.2.2 与宏命令等价...

    asp.net知识库

    Asp.net地址转义(分析)加强版 Web的桌面提醒(Popup) Using the Popup Object Click button only once in asp.net 2.0 Coalesys PanelBar + R.a.d Treeview +Xml 构建的Asp.net 菜单和权限管理模块 突破屏蔽限制...

Global site tag (gtag.js) - Google Analytics