C++ ODBC 连接sqlserver的增,减,删,查
时间: 2023-07-11 17:13:12 浏览: 224
使用C++连接SQL Server进行增、删、改、查操作需要使用ODBC API中的SQL语句和相关函数,具体步骤如下:
1. 连接SQL Server:参考前面的连接SQL Server步骤,连接到目标数据库。
2. 插入数据:使用ODBC API中的SQLExecDirect函数执行INSERT语句插入数据,如下所示:
```c++
SQLCHAR* sql = (SQLCHAR*)"INSERT INTO mytable (id, name, age) VALUES (1, 'John', 20)";
ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
ret = SQLExecDirect(hstmt, sql, SQL_NTS);
// 处理插入结果
// ...
```
3. 更新数据:使用ODBC API中的SQLExecDirect函数执行UPDATE语句更新数据,如下所示:
```c++
SQLCHAR* sql = (SQLCHAR*)"UPDATE mytable SET age = 30 WHERE name = 'John'";
ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
ret = SQLExecDirect(hstmt, sql, SQL_NTS);
// 处理更新结果
// ...
```
4. 删除数据:使用ODBC API中的SQLExecDirect函数执行DELETE语句删除数据,如下所示:
```c++
SQLCHAR* sql = (SQLCHAR*)"DELETE FROM mytable WHERE age > 30";
ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
ret = SQLExecDirect(hstmt, sql, SQL_NTS);
// 处理删除结果
// ...
```
5. 查询数据:使用ODBC API中的SQLExecDirect函数执行SELECT语句查询数据,如下所示:
```c++
SQLCHAR* sql = (SQLCHAR*)"SELECT * FROM mytable WHERE age > 20";
ret = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt);
ret = SQLExecDirect(hstmt, sql, SQL_NTS);
// 处理查询结果
while (SQLFetch(hstmt) == SQL_SUCCESS) {
SQLINTEGER id;
SQLCHAR name[20];
SQLINTEGER age;
SQLLEN nameLen;
SQLGetData(hstmt, 1, SQL_C_LONG, &id, 0, NULL);
SQLGetData(hstmt, 2, SQL_C_CHAR, name, sizeof(name), &nameLen);
SQLGetData(hstmt, 3, SQL_C_LONG, &age, 0, NULL);
// 处理查询结果行
// ...
}
```
以上就是使用C++连接SQL Server进行增、删、改、查操作的基本步骤,可以根据实际情况进行修改和扩展。需要注意的是,SQL语句中的表名、字段名、条件等需要根据实际情况修改。
阅读全文