我有一個 SQLite 資料庫,其中包含一個名為“玩家”的表。我可以在 DB Browser 中看到表中的資料是正確的,但是在嘗試檢索資料時,它似乎回傳的值與資料庫中的值完全不同。
資料庫中的值: 76561198113034550
回傳值:152768822
我通過以下方式獲得價值
qryPlayers.Close;
qryPlayers.SQL.Text := 'SELECT * FROM players';
qryPlayers.Open;
playerID := qryPlayers.FieldByName('steamid').Value; // .AsString returns the same value
這是什么原因造成的,我該如何解決?
uj5u.com熱心網友回復:
我剛剛檢查過,4 個低位元組的值是什么76561198113034550... 而 tadaaa,它是152768822!所以上面的 4 個位元組被簡單地截斷。
宣告playerID為Int64, notInteger或Cardinal因為這些型別在記憶體中只有 4 個位元組。
對于從資料庫中檢索值,請使用qryPlayers.FieldByName('steamid').AsLargeInt.
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/422619.html
標籤:
上一篇:有沒有解決未授權錯誤的方法?
