2013-06-25 34 views
0

我想迁移到sqlite。在我的C++程序中,我使用unsigned int key来存储ID。所以,当我将数据从C++程序序列化到sqlite,然后将其反序列化或浏览数据库时 - 请参阅/获得负值(已签名)。sqlite C++和unsigned int键

我通过此功能绑定unsigned ints序列号: sqlite3_bind_int(stmt,1,key);

任何建议如何正确地将unsigned ints序列化为sqlite并将其加载回去而不做更改?谢谢

创建时声明ps的密钥表列为INT。也许这是我的错误?

回答

1

SQLite的类型系统不支持无符号整数。但是,您可以使用sqlite3_bind_int64代替:unsigned int(假设它是32位)可以无损地转换为int64_t

+0

已经尝试并从SQLite接收错误“19”...也许需要一些特殊的转换来将'unsigned int'发布到'sqlite3_bind_int64'?谢谢 – abrahab