C++ ADO插入Sqlserver数据库参数化查询
时间: 2023-08-12 21:26:13 浏览: 283
使用 ADO 的方式也可以实现参数化查询。以下是一个示例代码,其中插入了一个名称和年龄值:
```cpp
#include <windows.h>
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF", "EndOfFile")
// 假设你已经建立了一个连接对象 conn
char* name = "John";
int age = 30;
_CommandPtr cmd;
cmd.CreateInstance(__uuidof(Command));
cmd->ActiveConnection = conn;
cmd->CommandText = "INSERT INTO mytable (name, age) VALUES (?,?)";
cmd->CommandType = adCmdText;
_ParameterPtr param1 = cmd->CreateParameter("name", adVarChar, adParamInput, 50, name);
_ParameterPtr param2 = cmd->CreateParameter("age", adInteger, adParamInput, 0, age);
cmd->Parameters->Append(param1);
cmd->Parameters->Append(param2);
cmd->Execute(NULL, NULL, adCmdText);
```
在这个示例中,我们首先创建一个 Command 对象,并设置其属性,包括连接、SQL 查询语句和命令类型。然后,我们使用 Command 的 CreateParameter 方法来创建两个参数,分别对应 name 和 age 两个变量。最后,我们将这两个参数添加到 Parameters 集合中,然后执行 SQL 查询语句。这样就实现了参数化查询,避免了 SQL 注入等安全问题。
阅读全文