首页 理论教育 VisualC++高级编程实例:执行命令与查询数据

VisualC++高级编程实例:执行命令与查询数据

时间:2023-11-16 理论教育 版权反馈
【摘要】:对于产生集合的命令,Execute()返回一个指向记录集的指针,其中包括命令执行的结果,可以使用这个记录集获得命令的结果。下面是使用Execute()函数执行一个简单的命令的例子:2. 使用命令对象当要执行复杂的命令以及执行带参数的命令时,要使用命令对象对数据源进行操作,这需要创建命令对象,并使用命令对象所提供的函数。其执行过程与执行普通的命令相似,只是需要创建参数值。

VisualC++高级编程实例:执行命令与查询数据

在ADO对象中,可以有两种不同的方法执行命令,第一种是调用连接对象的Execute()函数,第二种方法是使用命令对象,可用于更复杂的命令处理和使用参数化命令。

1. 使用连接对象的Execute()函数

在连接对象建立后,可以使用连接对象的Execute()函数来执行简单的命令,方法如下。

Execute()函数原型如下:

其中,CommandText参数中传送的是命令文本,通常是SQL命令。参数RecordsAffected中包含着操作完成后所影响的行数,除了SQL命令外你也可以在CommandText中传送一个表名或者存储过程。参数Options用于说明CommandText中所传送的类型,Options的取值见表4-2。

对于产生集合的命令,Execute()返回一个指向记录集的指针,其中包括命令执行的结果,可以使用这个记录集获得命令的结果。

下面是使用Execute()函数执行一个简单的命令的例子:

2. 使用命令对象

当要执行复杂的命令以及执行带参数的命令时,要使用命令对象对数据源进行操作,这需要创建命令对象,并使用命令对象所提供的函数。

首先要创建一个命令对象实例:

在创建一个命令对象后,你可以使用一个已经存在连接或者打开一个新连接,此处假定已经有一个建立好的连接pConn。

将命令属性中的连接属性值设为指向已有的连接:

然后,通过指定命令对象的CommandText属性来指定要执行的SQL命令的文本:

最后,调用Execute()函数来执行命令:

(www.xing528.com)

此时,就执行了在CommandText属性里设置的命令。

在执行命令中,执行带参数的命令是经常要使用的一种情况。参数命令允许你与要所执行的命令有更多的交互,它可以随着你的命令而动态使用参数,这可以增加应用程序的灵活性。尤其在参数值不同时需要对同一命令执行多次时,有很重要的用处。其执行过程与执行普通的命令相似,只是需要创建参数值。

执行带有参数的命令步骤如下:

首先,你需要在执行的命令文本字符串中为每个要使用的参数添加一个位置标识符,此位置标识符用“?”表示,如下所示:

"SELECT * FROM Course WHERE Age > ?"

然后,创建一个参数对象,参数对象用来描述被使用的每一个参数,新的参数对象用命令对象的CreateParameter()函数来创建。

CreateParameter()函数原型如下:

CreateParameter()函数允许你通过传送Name参数来命名参数,你也需要说明参数的类型、输入输出方向和参数的长度

参数中的类型值指明了要设置的参数值的类型。类型值以枚举型的常数类型中的值给出,可以为adBSTR或者adInteger。

参数中的输入输出方向指定了参数是用于输入还是输出,此值可以使以下几个常数值之一:

adParamInput:参数是对命令的输入。

adParamoutput:参数是一个进程或者函数的输出参数。

adParamReturnValue:参数是函数或者进程的返回值。对于不同长度的数据类型,需要在Size中指定参数的最大长度。另外,你可在Value值中传递参数的一个初始值。

此时创建了一个新的参数对象,需要将此参数对象添加到命令的参数集合,这通过调用参数集合的Append()函数实现。此参数集合有一个指向新添加的参数对象指针。

最后,如果要设置一个参数对象的值,只需要简单的设置参数对象的Value属性。

以下是设置带参数的命令的一段代码:

以上的程序演示了先将参数值设为20,执行查询命令,再在程序中将参数值设为21,重新执行查询命令。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈