首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过xorm从Oracle DB中获取表值?

如何通过xorm从Oracle DB中获取表值?
EN

Stack Overflow用户
提问于 2019-04-13 17:48:16
回答 1查看 594关注 0票数 0

我尝试使用xorm获取值并调用engine.Find(&xxxx)方法,但结果对象为空。我已经检查过它是否可以通过engine.Query()方法获得结果。这意味着数据库连接工作正常。如何将结果放入usertest01

代码语言:javascript
复制
package main

import (

    "database/sql"
    _ "github.com/mattn/go-oci8"
    "github.com/go-xorm/xorm"
)


type Usertest struct {
    Id       int64  `json:"id" xorm:"'id'"`
    Name     string `json:"name" xorm:"'name'"`
    Password string `json:"password" xorm:"'password'"`
}

var engine *xorm.Engine

func main(){
    engine, err = xorm.NewEngine("oci8", getDSN())
    if err != nil {
        fmt.Println(err.Error())
    }

    var usertest01 []Usertest
    engine.Find(&usertest01)
    fmt.Println("--- result by struct. doesn't work ---")
    fmt.Println(usertest01)

    usertest02, err := engine.Query("select * from usertest")
    fmt.Println("--- result by Query. this works ---")
    fmt.Println(usertest02) 

}

控制台

代码语言:javascript
复制
[xorm] [info]  2019/04/13 18:24:45.986664 [SQL] SELECT "id", "name", "password" FROM "usertest"
--- result by struct. doesn't work---
[]
[xorm] [info]  2019/04/13 18:24:46.095214 [SQL] select * from usertest
--- result by Query. this works ---
[map[ID:[49] NAME:[78 65 77 69] PASS:[80 65 83 83]]]
EN

回答 1

Stack Overflow用户

发布于 2019-04-14 09:23:44

我添加了返回实际表名的方法。

代码语言:javascript
复制
type Usertest struct {
    Id       int64  `json:"id" xorm:"'ID'"`
    Name     string `json:"name" xorm:"'NAME'"`
    Pass string `json:"pass" xorm:"'PASS'"`
}
// add this method
func (Usertest) TableName() string {
    return "USERTEST"
}

main(){
    ...
    ...
    engine.Find(&usertest01)
    fmt.Println(usertest01)
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55664155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档