数据库中参数化查询的实现 张华贵 2001年 40期 以VB为例,在数据库开发实例中我们知道,数据的查询共有两种,一种是直接使用SQL语句,如:在人事档案管理的实例中,可用“SELECT DISTINCT 文化程度 FROM TABEL1”这样的语句来查找出数据库中所有人员的文化程度,并且不会显示重复的这个字段。另外一种方法是定义一个QUERYDEF,实现参数化查询,方法如下:   1.建立参数字符串,设置每个参数的名字和数据类型。首先用PARAMETERS子名说明参数,其格式是:   PARAMETERS text datatype [,text datatype[,....]]   其中text是一个字符串,它是参数的名字,如果参数名含有空格,则要用方括号括起来。datatype用来指定参数的数据类型,例如:   SQL$="PARAMETERS 姓名 text,职务 text,文化程度 text"   这样就建立了一个可以按姓名、职务和文化程度查找人事档案中人员的参数,本例指定了三个参数,其数据类型都为text。   注意,在PARAMETERS子句中,如果参数含有空格或圆点符号,则必须用方括号括起来。   2.定义查询语句   建立了参数字符串后,就可以定义查询语句,所定义的参数放在WHERE子句中,如:   SQL$=SQL$&"SELECT * " & "from tabel1" & "where (([tabel1.姓名]=姓名) "&"and([tabel1.职务]=职务)"&"and(tabel1.文化程度=文化程度))"   3.建立QueryDef对象   接下来,我们可以用上面的SQL语句建立一个QueryDef对象:   Set QD=MyDB.createQueryDef("Find Employee",SQL$)   这样,通过上面的步骤,我们就建立了一个在VB中的参数化查询。