由此可见,我们需要一种简单的方法,能够根据任何表单建立SQL语句,而不管表单中有多少字段,也不管字段类型如何。要做到这点,我们要利用ASP 内置的request.form集合。经过在这个集合中循环,我们能够把每个表单字段的名称和它的值一起提取出来。列表 B 是这种工作方式的一个简单版本。在您查看代码时,请注意:为了这个技术能够生效,我们的HTML字段名必须与数据库表中的字段名相同。
我们在这里使用的解决方案是:把数据类型嵌入到每个HTML字段名里。例如,数值型字段的名称以字符串num_开始。这样,要把age字段名改成num_age。
(字符型和文本型字段不用改名,这样会缺省地把它们放在括号中。) 列表 C 显示了这个解决方案的实际应用。
在这里,我们使用了来自列表 B 的部分代码,并把它们放在一个叫做buildSQLInsert的函数中。在设置完临时变量后,我们进入循环,处理的多少与以前做的一样。主要的区别是,每次进入循环,我们要在字段名称中查找下划线
(_)。如果找到下划线,我们就从字段名中取出字段前缀。字段的前缀会告诉我们字段是什么类型。我们还用了一个select多重选择分支语句,用来建立与字段类型对应的SQL代码(还要注意:在生成的SQL语句中,不再使用前缀。)