代码之家  ›  专栏  ›  技术社区  ›  valdo

事务模式下的SQLite字符串管理

  •  0
  • valdo  · 技术社区  · 14 年前

    sqlite3_bind_text 若要将文本参数绑定到我的查询,请使用 SQLITE_STATIC

    最近我做了一些更改,以便查询在事务模式下执行(在单个事务中有许多这样的查询)。在事务完成之前,文本缓冲区是否应保持有效?

    SQLITE_TRANSIENT 旗帜?

    1 回复  |  直到 14 年前
        1
  •  0
  •   xscott    14 年前

    是的,如果您使用的是SQLITE_STATIC,那么您应该在事务完成之前保留内容。更重要的是,在将参数重新绑定到其他对象或释放语句之前,应该将内容单独保留。

    SQLITE_TRANSIENT请求SQLITE制作一个字符串的内部副本,它将对其进行适当的管理。根据你的描述,这可能是你应该使用的。否则,必须为每个语句管理自己的每个字符串副本。

    推荐文章