还记得以前做asp时,设计access数据库:一边添加字段,一边打开一个notepad记录,然后在代码里把这些字段都加上。
现在可以使用SQL将表的所有列名显示,代码如下:
DECLARE @colName varchar(500) –声明@colName变量
DECLARE @tableName varchar(64)–声明表名
set @tableName='AppDog'–赋表名
set @colName=''–赋初值
SELECT @colName=@colName+COLUMN_NAME+',' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=@tableName
print subString(@colName,1,len(@colName)-1)–打印字段时去掉最后一个逗号
运行

对泛型进行比较移除时使用如下代码,出现运行错误:“集合已修改;可能无法执行枚举操 作”:

这种情况是由于System.Collection.Generic泛型中集合List<>中执行了Remove()方法,则原有集合将被修改,而foreach的实现依赖于IEnumerable接口或实现GetEnumerator方法,这样均需要使用List<>实例的length属性。由于原有集合的长度为不确定因素,此时则将出现无法实现进行枚举操作的逻辑错误。
解决方法是使用for循环进行遍历删除,并将游标变量在删除元素的同时自减1.

很久没有写文章了,今天做项目时温习了一下SQL。现在有三张表S_action_info、E_grade_info、S_action_grade,其中第三张表为中间表,用于保存前两张表多对多关系。
数据结构图如下:

其它字段可不必考虑,重要的有前两张表的主键,和第三张表中相对应的外键。前两张表中已有部分数据,需要对第三张表进行一些测试数据的插入。于是SQL语句如下:
/* *若建立存储过程 IF EXISTS(SELECT name FROM sysobjects WHERE name='InsertDataIntoS_action_grade' AND TYPE='p') DROP PROCEDURE InsertDataIntoS_action_grade GO CREATE PROCEDURE InsertDataIntoS_action_grade @actionCount int--1表数据记录总数 @gradeCount int--2表数据记录总数 @actionIndex int--1表起始索引 @gradeIndex int--2表起始索引 AS*/ --TRUNCATE TABLE S_action_grade 如有必要,清空已有数据 declare @actionCount int--1表数据记录总数 declare @gradeCount int--2表数据记录总数 declare @actionIndex int--1表起始索引 declare @gradeIndex int--2表起始索引 set @actionCount=(select count(*) from s_action_info) set @gradeCount=(select count(*) from e_grade_info) set @actionIndex=1 while @actionIndex<=@actionCount begin set @gradeIndex=1 while @gradeIndex<=@gradeCount begin insert into s_action_grade(action_id,grade_id,day_process_money,total_process_money,tip_type) values(@actionIndex,@gradeIndex,100000,10000000,'1') set @gradeIndex=@gradeIndex+1 end set @actionIndex=@actionIndex+1 end go |
执行后结果:

由于.net framework 2.0卸载需要重装,但在重装过程中提示:
setup cannot continue because this version of the .net framework is incompatible with a previously installed one http://support.microsoft.com/support/kb/articles/q312/5/00.asp
这是由于.net framework没有完整移除的原因,可下载使用.NET Framework Cleanup Tool,详细介绍在这里http://blogs.msdn.com/b/astebner/archive/2008/08/28/8904493.aspx
可用于移除当前.net framework的所有版本,可选择单个移除,或者全部移除所有版本。
