首页 > 解决方案 > 查询现有表返回空结果

问题描述

我正在尝试这个简洁的框架(gorm),但我在基本读取查询方面遇到了一些问题。

我所做的基本上是文档中关于如何从 SQL Server 数据库中读取的内容。

我有一个带有表的数据库tests(复数来自 struct name Test)。数据库中有一个条目(检查图像),我无法检索它......

var server = "localhost"
var port = 1433
var user = "orm"
var password = "123localtest"
var database = "go"

var db *sql.DB

type Test struct {
    ID   int
    Name string
}

func main() {
    connectionString := fmt.Sprintf("server=%s;user id=%s;password=%s;port=%d;database=%s",
        server, user, password, port, database)
    db, err := gorm.Open("mssql", connectionString)

    if err != nil {
        log.Fatal("Failed to create connection pool. Error: " + err.Error())
    }
    gorm.DefaultCallback.Create().Remove("mssql:set_identity_insert")
    defer db.Close()

    tableExists := db.HasTable(&Test{})

    if tableExists {
        ReadFirstTest(db)
    }
}

// ReadFirstTest Gets and prints first Test from dbo.test
func ReadFirstTest(db *gorm.DB) {
    var test = Test{}

    db.First(&test)
    fmt.Printf("%d %s \n", test.ID, test.Name)

    db.Where("name = ?", "John").First(&test)
    fmt.Printf("%d %s \n", test.ID, test.Name)
}

你能告诉我这里缺少什么吗?

数据库状态

标签: gogo-gorm

解决方案


推荐阅读