我们以新闻表(dbNews)为例,假定新闻表包含有标题、时间、内容、发布人。 在查询数据库时,我们一般都是用如: “Select * from News Where time='2002-05-22' and User='Tom'”,我们如果能在条件查询中返回“time='2002-05-22' and User='Tom'”的条件字符串,问题就解决了。但如果是不同的程序、不同的表怎么做呢?这就是看用什么方法来定义查询的字段了。 在这里,我们把查询字段作为一个过程写在程序中,在查询模块中调用,这样,查询的字段就是动态的生成了。 用户选择好了一个查询字段,以及匹配条件,将它添加到<select></select>框中,用户可以继续选择另外的查询条件,然后又把它添加到<select>中,完成了,就点查询按钮。用查询模块生成如:“time='2002-05-22' and User='Tom'”的语句,这样在程序中就可以调用了。
三、解决方案: ASP通用条件查询模块的源代码请参看 (四、源代码)。 1、定义过程 在调用条件查询模块前,首先要在程序中定义一个SearchField()过程: Sub SearchField() Response.Write "<option Value='1Title'>标题</option>" Response.Write "<option Value='1Time'>时间</option>" Response.Write "<option Value='1Content'>内容</option>" Response.Write "<option Value='1User'>发布人</option>" End Sub 其中,Value中为字段名称,如果字段为字符型,就在字段名前加1,数字型就加2。如:"1Title"。 注意:如果数据是从多个表中取出来的,如:select * from News,User ;那么Value的值就要加上相应的表,如:1News.Title。这样就可以从多个表查询数据。