如何将内存中的sqlite3数据库保存为字节数组而不是文件?

时间:2016-11-18 23:54:58

标签: database memory sqlite disk

我目前正在使用内存(https://www.sqlite.org/inmemorydb.html)数据库,因为我无法保证写访问权。

但是为了保存数据库,如何将内存数据库转换为字节数组,并在以后进行写访问时将其保存到文件中?谢谢!

数据库的创建方式如下:

var canvas = document.getElementById('myCanvas');
var ctx = canvas.getContext('2d');
var rectangles = [
  [20, 20, 50, 50],
  [70, 70, 80, 80],
  [150, 150, 110, 110]
];

for (var i = 0; i < rectangles.length; i++) {
  ctx.fillRect(...rectangles[i]);
}

var isPointInRects = function(x, y) {
  for (var i = 0; i < rectangles.length; i++) {
    var xStart = rectangles[i][0],
      yStart = rectangles[i][1],
      xEnd = xStart + rectangles[i][2],
      yEnd = yStart + rectangles[i][3];

    if ((x >= xStart && x <= xEnd) &&
      (y >= yStart && y <= yEnd)) {
      return true;
    }
  }
  return false;
};

console.log(isPointInRects(20, 20));

我想将<canvas id="myCanvas" width=500 height=500></canvas>保存到字节数组中。然后,将字节数组保存到文件中。然后像正常一样从文件加载:

rc = sqlite3_open("file::memory:", &db);

(使用c ++,但我认为任何其他语言的例子也应该有效)

0 个答案:

没有答案