C/C++ SDK 快速入门
在项目中引入pdb_csdk.lib 并包含 pdb_api.h 文件,将pdb_csdk.dll 放到执行文件的目录中即可(注意:PinusDB提供的c sdk 为64位版本)。
一个简单的示例:
#include <time.h>
#include <stdio.h>
#include "pdb_api.h"
int main(int argc, char* argv[])
{
PdbErr_t retVal = PdbE_OK;
int handle = 0;
size_t sucessCnt = 0;
char sqlBuf[1024];
retVal = pdb_connect("127.0.0.1", 8105, &handle);
if (retVal != PdbE_OK)
{
std::cout << "连接数据库失败:" << pdb_get_error_msg(retVal) << std::endl;
return 0;
}
do {
retVal = pdb_login(handle, "sa", "pinusdb");
if (retVal != PdbE_OK)
{
std::cout << "登录失败:" << pdb_get_error_msg(retVal) << std::endl;
break;
}
//创建表
retVal = pdb_execute_non_query(handle,
"create table tab01(
devid bigint,
tstamp datetime,
val01 bigint,
val02 float)");
if (retVal != PdbE_OK)
{
std::cout << "创建表失败:" << pdb_get_error_msg(retVal) << std::endl;
break;
}
//创建设备
retVal = pdb_execute_insert(handle,
"insert into sys_dev(tabname, devid, devname)
values('tab01', 1, 'dev_01'), ('tab01', 2, 'dev_02')",
&sucessCnt, nullptr);
if (retVal != PdbE_OK)
{
std::cout << "创建设备失败:" << pdb_get_error_msg(retVal) << std::endl;
break;
}
sprintf_s(sqlBuf,
"insert into tab01(devid, tstamp, val01, val02)
values(1, now(), 1023, 57.35),(2, now(), 10, 32.337)",
timeBuf, timeBuf);
retVal = pdb_execute_insert(handle, sqlBuf, &sucessCnt, nullptr);
if (retVal != PdbE_OK)
{
std::cout << "插入数据失败:" << pdb_get_error_msg(retVal) << std::endl;
break;
}
} while (false);
pdb_disconnect(handle);
return 0;
}