如何创建一个someFileName.sqlite数据库使用sql.js没有NodeJs和Coffeescript,但只

How to create a someFileName.sqlite database using sql.js without NodeJs and Coffeescript, but just only Javascript and use it?

本文关键字:没有 js sql NodeJs Coffeescript 但只 sqlite 创建 何创建 someFileName 一个      更新时间:2023-09-26

我想在本地创建一个数据库文件并将所有数据写入其中,但想在没有node.js和Coffeescript的情况下这样做。我想通过Javascript在浏览器中运行,因为我正在开发一个用于存储一些数据的应用程序,该应用程序必须与我的同事共享,我没有权限在pc中安装NodeJs。

var sql = window.SQL;
        var db = new SQL.Database();
        db.run("CREATE TABLE test (col1, col2);");
        db.run("INSERT INTO test VALUES (?,?), (?,?)", [1,111,2,111]);
        db.run("INSERT INTO test VALUES (?,?), (?,?)", [3,333,4,444]);
        var stmt = db.prepare("SELECT * FROM test WHERE col1 BETWEEN $start AND $end");
        stmt.getAsObject({$start:1, $end:1});
        stmt.bind({$start:1, $end:4});
                    while(stmt.step()) { 
            var row = stmt.getAsObject();
            console.log(row.col1)
        }
        var data = db.export();
        //As per the official documentation, the data is converted into
        //buffer and written into file using writeFileSync();
        var buffer = new Buffer(data);
        fs.writeFileSync("filename.sqlite", buffer);

但是作为Buffer()writeFileSync()是NodeJs函数,我不能在我的代码中使用它们。是否有其他方法可以将数据写入数据库,然后将其导出为文件?

从客户端代码执行对数据库的请求不是一个好主意。它不安全。你基本上需要在你的PC上的节点,因为它是JS的运行时环境和BufferwriteFileSync() from fs模块是这个运行时的一部分。