@@ -83,7 +83,7 @@ Windows Desktop->Dynamic Link Library (DLL)
8383
8484#### 添加下面的宏定义
8585
86- C/C++ -> 预处理器 -> 预处理器定义 ->WIN32_LEAN_AND_MEAN; _ WINSOCK_DEPRECATED_NO_WARNINGS;_ CRT_SECURE_NO_WARNINGS;WINDOWS;NOMINMAX;NDEBUG;CPPAPI_EXPORTS; _ WINDOWS;_ DDBAPIDLL;
86+ C/C++ -> 预处理器 -> 预处理器定义 ->WIN32_LEAN_AND_MEAN; _ WINSOCK_DEPRECATED_NO_WARNINGS;_ CRT_SECURE_NO_WARNINGS;WINDOWS;NOMINMAX;NDEBUG;_ WINDOWS;_ DDBAPIDLL;
8787
8888
8989
@@ -241,6 +241,8 @@ DBConnection conn;
241241bool ret = conn.connect(" 127.0.0.1" , 8848 , " admin" , " 123456" );
242242```
243243
244+ 可通过 ` connect ` 函数的返回值来确认是否连接成功。若结果返回 Ture,则说明连接成功;若返回值为 False,则表示连接失败。
245+
244246若未使用用户名及密码连接成功,则脚本在Guest权限下运行。后续运行中若需要提升权限,可以使用 conn.login('admin','123456',true) 登录获取权限。
245247
246248请注意,DBConnection类的所有函数都不是线程安全的,不可以并行调用,否则可能会导致程序崩溃。
@@ -485,6 +487,46 @@ for(int i = 0; i < size; ++i)
485487 cout<<v->getString(i)<<endl;
486488```
487489
490+ 从 1.30.21/2.00.9 版本开始,C++ API 新增 DdbVector 类,可方便地创建 DolphinDB 各种数据类型的 Vector。使用时需要注意以下几点:
491+
492+ 1 . DdbVector 为泛型类,在创建时需指定 C++ 原生类型,如std::string, int, double 等。
493+ 2 . 必须在创建时指明 Vector 的容量。不支持扩容。
494+ 3 . 可通过 ` add ` , ` append ` , ` set ` 等方法填充数据。
495+ 4 . 在填充数据后,通过 ` createVector ` 来创建 DDB Vector,须指定与 DdbVector 声明类型相匹配的 DolphinDB 的数据类型,如 DT_STRING, DT_INT 等。
496+
497+ 举例说明:
498+
499+ ```
500+ //创建一个包含30000行元素的表
501+ TableSP table;
502+ int size = 30000;
503+ DdbVector<double> doubleV(0, size);
504+ DdbVector<float> floatV(0, size);
505+ DdbVector<int> intV(0, size);
506+ DdbVector<short> shortV(0, size);
507+ DdbVector<char> boolV(0, size);
508+ DdbVector<char> charV(0, size);
509+ DdbVector<string> strV(0, size);
510+ unsigned char int128[16];
511+ DdbVector<Guid> int128V(0, size);
512+ for (auto i = 0; i < size; i++) {
513+ doubleV.add(i);
514+ floatV.add(i);
515+ intV.add(i);
516+ shortV.add(i);
517+ boolV.add(i%1);
518+ charV.add(i%256);
519+ strV.add("str"+std::to_string(i));
520+ int128[i % 16] = i % 256;
521+ int128V.add(int128);
522+ }
523+ table=Util::createTable({ "double","float","int","short","bool","char","str","int128" },
524+ { doubleV.createVector(DT_DOUBLE),floatV.createVector(DT_FLOAT),intV.createVector(DT_INT),
525+ shortV.createVector(DT_SHORT),boolV.createVector(DT_BOOL),charV.createVector(DT_CHAR),
526+ strV.createVector(DT_STRING),int128V.createVector(DT_INT128) });
527+ cout << "table:" << endl << table->getString() << endl;
528+ ```
529+
488530### 7.2 集合
489531
490532创建一个集合:
@@ -974,7 +1016,7 @@ insert(const string& dbName, const string& tableName, Fargs)
9741016
9751017- Fargs:是变长参数,代表插入的一行数据。写入的数据可以使用dolphindb的数据类型,也可以使用C++原生数据类型。数据类型和表中列的类型需要一一对应。数据类型对应关系见下表:
9761018
977- C++ 原生数据类型与DolphinDB数据类型对应关系表
1019+ C++ 原生数据类型与 DolphinDB 数据类型对应关系表
9781020
9791021| DolphinDB类型 | C++类型 |
9801022| ------------- | --------------- |
@@ -1000,6 +1042,7 @@ C++ 原生数据类型与DolphinDB数据类型对应关系表
10001042| UUID | unsigned char* |
10011043| IPADDR | unsigned char* |
10021044| INT128 | unsigned char* |
1045+ | DECIMAL | double |
10031046
10041047**请注意:**
10051048
0 commit comments