数据库接口函数。
包含 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 语法。
实盘数据库中系统保留表:kvdb、cfg、log、profit、chart,请勿对这些表进行操作。
目前不支持事务,不建议执行此类操作,会引起系统冲突。
DBExec() 函数仅支持实盘环境。
{@fun/Global/_G _G}