加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

何时使用SQLITE_TRANSIENT与SQLITE_STATIC?

发布时间:2020-12-12 19:11:22 所属栏目:百科 来源:网络整理
导读:我想在sqlite3中创建/更新文本列. 当我在创建/更新后检索行时,文本是’?’. 然而,整数值被适当地保持. 我的文本语句如下所示: const char *sql = "INSERT INTO todo(title,description,priority,status,created,expires,posx,posy,updated)" " VALUES('?',
我想在sqlite3中创建/更新文本列.
当我在创建/更新后检索行时,文本是’?’.
然而,整数值被适当地保持.

我的文本语句如下所示:

const char *sql = "INSERT INTO todo(title,description,priority,status,created,expires,posx,posy,updated)"
                  " VALUES('?','?','?');";
if (sqlite3_prepare_v2(database,sql,-1,&insert_statment,NULL) != SQLITE_OK)
    ...
sqlite3_bind_text(update_statment,5,[[dt stringFromDate:self.updated] UTF8String],SQLITE_TRANSIENT);

我试过SQLITE_TRANSIENT以及SQLITE_STATIC.这两种情况似乎都产生了相同的结果(‘?’).当我们将这些文本值传递给相应的sql语句时,我也验证了这些文本值是有效的.

有任何想法吗?

删除“周围的人物?在你的sql字符串.

SQLite_TRANSIENT告诉SQLite复制你的字符串.当您的字符串(缓冲区)在执行查询之前将会消失时使用此选项.

SQLITE_STATIC告诉SQLite,您承诺,传递给该字符串的指针将有效,直到执行查询为止.当您的缓冲区为um,static或至少具有超过绑定的动态范围时,请使用此方法.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读