[原创]使用Command对象的Parameter集合访问存储过程
Parameters集合由使用CreateParameter方法创建的Parameter对象组成,Parameter对象表示与基于查询或存储过程的Command对象相关联的参数。
可以使用Append和CreateParameter方法将参数添加到Parameters集合,语法如下:
可以使用Append和CreateParameter方法将参数添加到Parameters集合,语法如下:
command.CreateParameter(Name,Type,Direction,Size,Value)
Name
字符串,指定Parameter对象的名称;
Type
指定Parameter对象的数据类型;
Direction
指定是将数据发送到查询,还是从查询返回数据;
Size
指定参数值的最大长度(以字符或字节为单位);
Value
指定Parameter对象的值;
字符串,指定Parameter对象的名称;
Type
指定Parameter对象的数据类型;
Direction
指定是将数据发送到查询,还是从查询返回数据;
Size
指定参数值的最大长度(以字符或字节为单位);
Value
指定Parameter对象的值;
以下示例为SQL查询创建参数并将这些参数用于Command对象,该示例创建了名为startleter的参数,并从student表中检索学员姓名以字母"A"开头的所有行。
使用MS-Access创建名为"Namelookup"且包含下列文本的通用查询;
使用MS-Access创建名为"Namelookup"且包含下列文本的通用查询;
Parameters startletter Text;
Select * from student where stud_name like startletter+'*';
Select * from student where stud_name like startletter+'*';
在Access中执行此查询时,它会提示我们为参数startletter指定值,然后会显示相应的匹配记录。
要通过VB代码执行此查询,可以使用Command对象,如以下代码所示:
要通过VB代码执行此查询,可以使用Command对象,如以下代码所示:
dim cmd as new adodb.command
dim paraname as adodb.parameter
set cmd.activeconnection=con
cmd.commandtext="namelookup"
cmd.commandtype=adcmdstoredproc
set paraname=cmd.createparameter("startletter",adchar,adparaminput,1)
cmd.parameters.append paraname
cmd("startletter")="A" '这句话是cmd.parameters.item("startletter").value="A"的缩写
set rs=cmd.execute
dim paraname as adodb.parameter
set cmd.activeconnection=con
cmd.commandtext="namelookup"
cmd.commandtype=adcmdstoredproc
set paraname=cmd.createparameter("startletter",adchar,adparaminput,1)
cmd.parameters.append paraname
cmd("startletter")="A" '这句话是cmd.parameters.item("startletter").value="A"的缩写
set rs=cmd.execute
实际上使用指定参数执行该命令的是Command对象cmd的Execute方法。