DBExec

数据库接口函数。

包含 SQL 语句执行结果的对象,例如:

{"columns":["TS","HIGH","OPEN","LOW","CLOSE","VOLUME"],"values":[[1518970320000,100,99.1,90,100,12345.6]]}

object

DBExec(sql)

SQL 语句字符串。 sql true string

”`javascript function main() { var strSql = [ “:CREATE TABLE TEST_TABLE(”, “TS INT PRIMARY KEY NOT NULL,”, “HIGH REAL NOT NULL,”, “OPEN REAL NOT NULL,”, “LOW REAL NOT NULL,”, “CLOSE REAL NOT NULL,”, “VOLUME REAL NOT NULL)” ].join(“”) var ret = DBExec(strSql) Log(ret)

// 增加一条数据
Log(DBExec(":INSERT INTO TEST_TABLE (TS, HIGH, OPEN, LOW, CLOSE, VOLUME) VALUES (1518970320000, 100, 99.1, 90, 100, 12345.6);"))

// 查询数据
Log(DBExec(":SELECT * FROM TEST_TABLE;"))

} python def main(): arr = [ “:CREATE TABLE TEST_TABLE(”, “TS INT PRIMARY KEY NOT NULL,”, “HIGH REAL NOT NULL,”, “OPEN REAL NOT NULL,”, “LOW REAL NOT NULL,”, “CLOSE REAL NOT NULL,”, “VOLUME REAL NOT NULL)” ] strSql = “” for i in range(len(arr)): strSql += arr[i] ret = DBExec(strSql) Log(ret)

# 增加一条数据
Log(DBExec(":INSERT INTO TEST_TABLE (TS, HIGH, OPEN, LOW, CLOSE, VOLUME) VALUES (1518970320000, 100, 99.1, 90, 100, 12345.6);"))

# 查询数据
Log(DBExec(":SELECT * FROM TEST_TABLE;"))```

”`cpp void main() { string strSql = “:CREATE TABLE TEST_TABLE(
TS INT PRIMARY KEY NOT NULL,
HIGH REAL NOT NULL,
OPEN REAL NOT NULL,
LOW REAL NOT NULL,
CLOSE REAL NOT NULL,
VOLUME REAL NOT NULL)”; auto ret = DBExec(strSql); Log(ret);

// 增加一条数据
Log(DBExec(":INSERT INTO TEST_TABLE (TS, HIGH, OPEN, LOW, CLOSE, VOLUME) VALUES (1518970320000, 100, 99.1, 90, 100, 12345.6);"));

// 查询数据
Log(DBExec(":SELECT * FROM TEST_TABLE;"));

} 支持内存数据库,对于DBExec函数的参数,如果 **SQL** 语句以:开头则在内存数据库中操作,不写文件速度更快。适合不需要持久化保存的数据库操作,例如: javascript function main() { var strSql = [ “CREATE TABLE TEST_TABLE(”, “TS INT PRIMARY KEY NOT NULL,”, “HIGH REAL NOT NULL,”, “OPEN REAL NOT NULL,”, “LOW REAL NOT NULL,”, “CLOSE REAL NOT NULL,”, “VOLUME REAL NOT NULL)” ].join(“”) var ret = DBExec(strSql) Log(ret) } python def main(): arr = [ “CREATE TABLE TEST_TABLE(”, “TS INT PRIMARY KEY NOT NULL,”, “HIGH REAL NOT NULL,”, “OPEN REAL NOT NULL,”, “LOW REAL NOT NULL,”, “CLOSE REAL NOT NULL,”, “VOLUME REAL NOT NULL)” ] strSql = “” for i in range(len(arr)): strSql += arr[i] ret = DBExec(strSql) Log(ret) cpp void main() { string strSql = “CREATE TABLE TEST_TABLE(
TS INT PRIMARY KEY NOT NULL,
HIGH REAL NOT NULL,
OPEN REAL NOT NULL,
LOW REAL NOT NULL,
CLOSE REAL NOT NULL,
VOLUME REAL NOT NULL)”; auto ret = DBExec(strSql); Log(ret); } 使用DBExec()函数创建表。 javascript function main() { var strSql = [ “CREATE TABLE TEST_TABLE(”, “TS INT PRIMARY KEY NOT NULL,”, “HIGH REAL NOT NULL,”, “OPEN REAL NOT NULL,”, “LOW REAL NOT NULL,”, “CLOSE REAL NOT NULL,”, “VOLUME REAL NOT NULL)” ].join(“”) Log(DBExec(strSql))

// 增加一条数据
Log(DBExec("INSERT INTO TEST_TABLE (TS, HIGH, OPEN, LOW, CLOSE, VOLUME) VALUES (1518970320000, 100, 99.1, 90, 100, 12345.6);"))

// 查询数据
Log(DBExec("SELECT * FROM TEST_TABLE;"))

// 修改数据
Log(DBExec("UPDATE TEST_TABLE SET HIGH=? WHERE TS=?", 110, 1518970320000))

// 删除数据
Log(DBExec("DELETE FROM TEST_TABLE WHERE HIGH=?", 110))

} python def main(): arr = [ “CREATE TABLE TEST_TABLE(”, “TS INT PRIMARY KEY NOT NULL,”, “HIGH REAL NOT NULL,”, “OPEN REAL NOT NULL,”, “LOW REAL NOT NULL,”, “CLOSE REAL NOT NULL,”, “VOLUME REAL NOT NULL)” ] strSql = “” for i in range(len(arr)): strSql += arr[i] Log(DBExec(strSql))

# 增加一条数据
Log(DBExec("INSERT INTO TEST_TABLE (TS, HIGH, OPEN, LOW, CLOSE, VOLUME) VALUES (1518970320000, 100, 99.1, 90, 100, 12345.6);"))

# 查询数据
Log(DBExec("SELECT * FROM TEST_TABLE;"))

# 修改数据
Log(DBExec("UPDATE TEST_TABLE SET HIGH=? WHERE TS=?", 110, 1518970320000))

# 删除数据
Log(DBExec("DELETE FROM TEST_TABLE WHERE HIGH=?", 110))```

”`cpp void main() { string strSql = “CREATE TABLE TEST_TABLE(
TS INT PRIMARY KEY NOT NULL,
HIGH REAL NOT NULL,
OPEN REAL NOT NULL,
LOW REAL NOT NULL,
CLOSE REAL NOT NULL,
VOLUME REAL NOT NULL)”; Log(DBExec(strSql));

// 增加一条数据
Log(DBExec("INSERT INTO TEST_TABLE (TS, HIGH, OPEN, LOW, CLOSE, VOLUME) VALUES (1518970320000, 100, 99.1, 90, 100, 12345.6);"));

// 查询数据
Log(DBExec("SELECT * FROM TEST_TABLE;"));

// 修改数据
Log(DBExec("UPDATE TEST_TABLE SET HIGH=? WHERE TS=?", 110, 1518970320000));

// 删除数据
Log(DBExec("DELETE FROM TEST_TABLE WHERE HIGH=?", 110));

}“` 表中记录的增删查改操作。

  • 函数 DBExec() 通过传入参数,可以操作实盘数据库(SQLite 数据库)。

  • 实现对实盘数据库中数据的增、删、查、改等操作,支持 SQLite 语法。

  • 实盘数据库中系统保留表:kvdbcfglogprofitchart,请勿对这些表进行操作。

  • 目前不支持事务,不建议执行此类操作,会引起系统冲突。

  • DBExec() 函数仅支持实盘环境。

{@fun/Global/_G _G}