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 timeBuf[32];
- 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;
- }
- time_t t;
- tm tm;
- time(&t);
- localtime_s(&tm, &t);
- sprintf_s(timeBuf,"%d-%d-%d %d:%d:%d", (1900 + tm.tm_year), (1 + tm.tm_mon), tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
- sprintf_s(sqlBuf,
- "insert into tab01(devid, tstamp, val01, val02) \
- values(1, '%s', 1023, 57.35),(2, '%s', 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;
- }