type Job struct{
Id int `gorm:"column:Id;primary_key;AUTO_INCREMENT"`
Name string `gorm:"column:Name"`
Date time.Time `gorm:"column:date"`
}
func Test(){
file := "D:\\test.db"
db,err := gorm.Open("sqlite3",file)
if err == nil{
defer db.Close()
a := Job{}
db.Where("Name=?","testcase").Find(&a)
fmt.Println(a)
}else{
fmt.Println(err.Error())
}
}
1
boom7 2019-06-17 19:48:05 +08:00
代码呢
|
2
wangsongyan 2019-06-17 19:48:53 +08:00 via iPhone
代码呢,返回 error 了吗?
|
3
Carseason 2019-06-17 20:06:33 +08:00 via iPhone
没读取到所以返回默认值了
|
4
peanuts7660 OP |
5
beidounanxizi 2019-06-17 20:17:27 +08:00
连接参数 parselocal?
|
6
anonymous256 2019-06-17 20:18:45 +08:00 via Android
用数据库软件,打开源 sqlite 文件,看看里面是什么情况。如果数据正常,就是程序的问题。
|
7
yswb 2019-06-17 20:21:34 +08:00 via iPhone 1
我也遇到过一次,是数据库连接字符串上需要加上 parseDate=true (类似这样的一个配置,手机不方便查看)解决的,具体的看 readme 上面写的有。
|
8
peanuts7660 OP @anonymous256 用 SQLiteStudio 打开看数据是正常的
@beidounanxizi 您说的是 parseTime=true&loc=Local 这两参数吗?好像这两是用在 MySQL 的连接 |
9
beidounanxizi 2019-06-17 20:43:16 +08:00
@peanuts7660 是的 连接参数你看看对不对头 感觉是连接参数的设置问题
也可以看看 b 站流出来的代码的参数设置阿 |
10
peanuts7660 OP @beidounanxizi 好的,我去看看呢,谢啦
|
11
rrfeng 2019-06-17 20:58:48 +08:00
把这个打出来:`db.Where("Name=?","testcase").Find(&a).Error`
估计是 RecordNotFound |
12
polebug 2019-06-17 21:16:05 +08:00
Q: sqlite 真的连上了吗,其他数据能正常读出来吗
|
13
momo733 2019-06-17 21:46:40 +08:00 via iPhone
你数据库的列名是 Id ?日期列名 date ?检查写对了没……感觉你这大小写不统一
|
14
wangsongyan 2019-06-17 21:51:41 +08:00 via iPhone
用 slice 接收试试
|
15
janxin 2019-06-17 21:58:10 +08:00
你没有验证是不是有 error 啊
|
16
aimerforreimu 2019-06-17 23:29:35 +08:00
`db.LogMode(true)`
加上这一句打印一下 sql 的日志 |
17
skiy 2019-06-18 09:35:52 +08:00
打印下日志吧。没查到数据肯定就是空值的啊。
|