2013-06-25 35 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