C语言通过ADO插入sql server数据库
时间: 2023-06-29 22:15:21 浏览: 110
通过 ADO 在 C 语言中插入 SQL Server 数据库,可以参照以下示例代码:
```c
#include <stdio.h>
#include <windows.h>
#include <ole2.h>
#include <msado15.h>
int main()
{
CoInitialize(NULL);
_ConnectionPtr pConn;
HRESULT hr;
try
{
hr = pConn.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
throw "Failed to create instance of Connection.";
hr = pConn->Open("Provider=SQLOLEDB;Data Source=127.0.0.1;Initial Catalog=testdb;User ID=sa;Password=123456;", "", "", adConnectUnspecified);
if (FAILED(hr))
throw "Failed to connect to database.";
_RecordsetPtr pRs;
hr = pRs.CreateInstance(__uuidof(Recordset));
if (FAILED(hr))
throw "Failed to create instance of Recordset.";
hr = pRs->Open("INSERT INTO table1 (ID, Name) VALUES (1, 'Alice')", pConn.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdText);
if (FAILED(hr))
throw "Failed to execute SQL statement.";
pRs->Close();
pConn->Close();
}
catch (char* e)
{
printf("%s\n", e);
}
CoUninitialize();
return 0;
}
```
在连接字符串中,需要指定 SQL Server 的 IP 地址、数据库名称、用户名和密码。在执行 SQL 语句时,可以使用 Recordset 对象来执行 INSERT、UPDATE、DELETE 等操作。需要注意的是,INSERT 语句中的值需要使用单引号括起来。
插入数据的操作类似于执行查询语句,可以使用 Recordset 对象来获取操作结果。在执行完毕后,需要调用 Recordset 和 Connection 对象的 Close 方法关闭连接和记录集。
需要注意的是,在使用 ADO 连接数据库之前,需要先调用 CoInitialize 函数进行 COM 初始化,使用完毕后需要调用 CoUninitialize 函数释放资源。
阅读全文