sqlite c ++和无符号整数操作

问题描述 投票:-1回答:2

this one有关的问题。好的,现在我用unsigned integer函数绑定我的bind_text。在INTEGER列之后,我看到正确存储的unsigned integer值。现在,我希望从base到c ++变量unsigned int xxx接收它。这样做的最佳方法是什么?请求作为文本,然后转换为ui?或者请求sqlite_int64然后以某种方式转换为unsigned int?请添加一些示例代码。谢谢。

c++ sqlite
2个回答
2
投票

有一种正确的方法来绑定unsigned integer:使用sqlite3_bind_int64

unsigned int key = ...;

sqlite3_bind_int64(stmt, 1, key);

要从查询中获取此值,请使用sqlite3_column_64

key = (unsigned int)sqlite3_column_int64(query_stmt, 0);

0
投票

对于这个问题,这是迟到的答案。我会帮助处理这个问题的人。解决方案可以非常简单,您可以对表使用UNSIGNED BIGINT或UNSIGNED INT数据类型,然后将数据作为有符号值插入(例如,uint64_t v = xxx; insert(int64_t)v)。之后,您可以使用splite3_column_int64函数将数据类型转换回来。(例如,uint64_t rv =(uint64_t)splite3_column_int64(stmt,0);)파이팅〜!

© www.soinside.com 2019 - 2024. All rights reserved.