水木社区手机版
首页
|版面-KDE与Qt编程技术(KDE_Qt)|
新版wap站已上线
返回
1/1
|
转到
主题:为什么qt读取sqlite datetime字段时,获取的字段类型为QString
楼主
|
littledragon
|
2023-03-29 16:25:30
|
只看此ID
有什么办法能获取到确切的QDateTime字段类型吗
--
FROM 106.38.99.*
1楼
|
hgoldfish
|
2023-03-29 17:10:50
|
只看此ID
不能哦。因为 sqlite3 本身没有 timestamp 类型,只能存储为字符串,或者 unix time 数字型。
你得自行转换。我记得 QSqlQuery 的 value() 返回的是 QVariant 类型,你可以直接用 toDateTime() 转成 QDateTime 不是很简单吗?
【 在 littledragon 的大作中提到: 】
: 有什么办法能获取到确切的QDateTime字段类型吗
--
FROM 120.33.9.*
2楼
|
littledragon
|
2023-03-29 17:39:46
|
只看此ID
【 在 hgoldfish 的大作中提到: 】
: 不能哦。因为 sqlite3 本身没有 timestamp 类型,只能存储为字符串,或者 unix time 数字型。
: 你得自行转换。我记得 QSqlQuery 的 value() 返回的是 QVariant 类型,你可以直接用 toDateTime() 转成 QDateTime 不是很简单吗?
:
没错,只是因为我得应用场景稍微有点不一样。我同时会操作好几种数据库,希望一套接口适配不同的数据库,尽量不根据数据库类型不同做特殊处理。现在这种情况,我就必须判断数据库类型做出不同处理了。
--
FROM 106.38.99.*
3楼
|
littledragon
|
2023-03-29 17:42:35
|
只看此ID
【 在 hgoldfish 的大作中提到: 】
: 不能哦。因为 sqlite3 本身没有 timestamp 类型,只能存储为字符串,或者 unix time 数字型。
: 你得自行转换。我记得 QSqlQuery 的 value() 返回的是 QVariant 类型,你可以直接用 toDateTime() 转成 QDateTime 不是很简单吗?
:
因为原来sqlite我是用c接口来操作的,datetime字段类型是可以得到,可是qt得不到,我有点奇怪。也许是sqlite c的接口做了什么处理。
--
FROM 106.38.99.*
4楼
|
dormouseBHU
|
2023-03-29 20:25:07
|
只看此ID
那你直接在数据库里存字符串就行了。
【 在 littledragon 的大作中提到: 】
: 因为原来sqlite我是用c接口来操作的,datetime字段类型是可以得到,可是qt得不到,我有点奇怪。也许是sqlite c的接口做了什么处理。
--
FROM 223.104.102.*
5楼
|
hgoldfish
|
2023-03-29 21:07:56
|
只看此ID
https://www.sqlite.org/lang_datefunc.html
我看 django 存的是字符串。
【 在 littledragon 的大作中提到: 】
: 因为原来sqlite我是用c接口来操作的,datetime字段类型是可以得到,可是qt得不到,我有点奇怪。也许是sqlite c的接口做了什么处理。
--
FROM 120.33.9.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版