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**语句以:“`开头,则在内存数据库中执行操作,无需写入文件,执行速度更快。

适用于无需持久化保存的数据库操作场景,例如:


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)
}

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)

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);
}
创建数据表。 “`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}