Skip to content

NodeJS 接口使用介绍

基于 Node-API 规范,版本要求 10.0.0 及以上。

创建连接

js
let ip = "192.168.2.50";
let port = 19504;
let user = "root";
let password = "root";
let timeout = 60; // seconds
let database = "db"; // default database

let conn = new Connection(ip, port, timeout, user, password, database);

使用同步方法写入数据

核心方法 insert 返回 json 对象

js
conn.use_database("db")

let cols = [
	{name: "IsArray", type: TYPES.VT_DOUBLE},
	{name: "Quality", type: TYPES.VT_DOUBLE},
	{name: "TagValue", type: TYPES.VT_DOUBLE},
	{name: "UaDataType", type: TYPES.VT_DOUBLE},

	{name: "TagStringValue", type: TYPES.VT_STRING},
	{name: "HostNameTag", type: TYPES.VT_STRING},

	{name: "e_date", type: TYPES.VT_DATETIME},
];
let rows = [
	[1, 2, 3, 4, "abc", "def", new Date().getTime() * 1e6],
	[5, 6, 7, 4, "abcr", "defe", new Date().getTime() * 1e6],
];

let rv = conn.insert("ee_tt", cols, rows);
console.log(rv);

使用异步方法写入数据

核心方法 insert_async 返回 Promise 对象,值为 json 对象

js
conn.use_database("db")

let cols = [
	{name: "IsArray", type: TYPES.VT_DOUBLE},
	{name: "Quality", type: TYPES.VT_DOUBLE},
	{name: "TagValue", type: TYPES.VT_DOUBLE},
	{name: "UaDataType", type: TYPES.VT_DOUBLE},

	{name: "TagStringValue", type: TYPES.VT_STRING},
	{name: "HostNameTag", type: TYPES.VT_STRING},

	{name: "e_date", type: TYPES.VT_DATETIME},
];
let rows = [
	[1, 2, 3, 4, "abc", "def", new Date().getTime() * 1e6],
	[5, 6, 7, 4, "abcr", "defe", new Date().getTime() * 1e6],
];

let rv = await conn.insert_async("ee_tt", cols, rows);
console.log(rv);

执行 SQL 语句

sql 遵循标准的 SQL 语法规范(MySQL),支持查询、更新、删除等操作

sql 示例

  • 建库 sql 示例
    sql
    CREATE DATABASE IF NOT EXISTS magus_abc
  • 建表 sql 示例
    sql
    CREATE TABLE dd_tt (
            IsArray VtDouble not null default 0.0,
            Quality VtDouble not null default 0.0,
            TagValue VtDouble not null default 0.0,
            UaDataType VtDouble not null default 0.0,
            TagStringValue VtString not null default '',
            HostNameTag VtString not null default '' keyCol,
            e_date VtDateTime not null DEFAULT '2000-01-01 00:00:00' timeCol
    )
  • 更新数据 sql 示例
    sql
    update dd_tt set Quality =1 where HostNameTag ="zs"
  • 删除数据 sql 示例
    sql
    delete from dd_tt where e_date < '2024-02-01'
  • 查询数据 sql 示例
    sql
    select * from db.dd_tt

代码示例

核心方法 exec 返回 json 对象

js
let sql = "SELECT * from db.ee_tt";
let rv = conn.exec(sql);
console.log(rv);