其它考虑
靠近函数的顶部,您会注意到我们使用了replace
函数,把数据中的每个单引号替换成两个单引号。这是因为SQL翻译器使用单引号做为字符串的分隔符,如果数据中有单引号,就会造成SQL解释错误。把一个单引号转换成两个单引号,可以确保SQL翻译器在文本中正确加入单引号。
到了现在,就只剩下两个问题要解决:空值Null及从最终SQL语句中省略字段。列表 D 中加入了这两个问题的代码。
空值Null 的处理相当简单。如果我们收到的字段为空,我们就在最终SQL字段中放空值。这很简单,重要的是要注意:使用这种方法的前提是,在做此项操作之前,已经对表单数据进行过校验。例如,如果您的数据库不允许fname使用空值,您就要在向ASP代码提交数据之前,确保用户填写了这个字段。(客户端JavaScript 做这件事非常优秀。)
另外一个问题是,有时您可能不想在SQL语句中包含某个字段。列表 D 通过在函数中增加omitFields
参数(省略字段)来解决这个问题。在这个参数中传递的任何字段名都会被排除在最终SQL语句之外。如果要省略不止一个字段,只要用逗号分隔即可。如果不想省略任何字段,只要给函数传递一个空字符串("")即可。注意,要按字段在HTML文件中的名称来传递字段名,而不要按字段在数据库中的名称来传递(例如,传递num_age,而不是
age。
)