一位前任经理把我描述成创作“疯狂科学材料”的人,这已不是什么秘密,这里他使用了“材料”这个词。这个说法说明我热爱解决应用程序开发的各方面问题。通常,我的创作并不特别,只用于解决手边出现的问题。但有时候也可用在其他方面,有点像一个解决问题的锤子。
最近我建立了一个解决方案,它首先解析存储在一个表格中用来记录插入项的SQL插入语句。表格中包含建立sql插入语句所需的一切信息,如用户ID、日期和sql插入语句本身。图A显示了和XML一样的记录集。
图A
象xml一样的记录集
总体上,表格不是问题,问题在于我必须处理其中的一个列。特别地,这个列中包含sql插入语句。你知道,我的任务就是为非技术人员建立一个即时报告,向他们清楚说明所作的改变。所以,遗憾的是,在报告中加入大量sql源代码是行不通的。另外,由于网络是以VBScript编写的典型ASP,这使问题更加复杂。总而言之,这是一个相当麻烦的任务,但生活中总是充满挑战。
实际上,最大的问题在于解决列名与列值相关联的问题。幸运的是,如列表A所示,通过非常规使用substring-before和substring-after函数,可能建立两个变量。第一个变量包含列名,第二个变量为列值。有趣的是,由于sql插入项单个元素的语法,这些变量用逗号隔开。