gpt4 book ai didi

sql - 使用数据库/sql时如何获取返回的行数?

转载 作者:行者123 更新时间:2023-12-01 21:13:03 25 4
gpt4 key购买 nike

赋予以下功能:

func (me *OrderService) GetOrders(orderTx *sql.Tx, orderId int) (orders *sql.Rows) {
orders, err := ecommTx.Query("SELECT * FROM orders WHERE id=?", orderId)
if err != nil {
log.Fatal(err)
}
log.Printf("Successfully queried and receive %d orders", orders.count)
return orders
}

有没有简单的方法来计算结果?我想保持数据库引擎的活力,但是FWIW ....我正在使用 Matt N's sqlite3 driver进行集成测试,但是计划在产品中使用其他数据库。

最佳答案

sql.Query()返回*RowsRows是阅读器,而不是集合,因此诸如count()len()等的调用无关。您必须通读Rows才能知道有多少条目:

count := 0
for orders.Next() {
count++
}

log.Printf("Successfully queried and receive %d orders", count)

您这样做不会增加任何额外的开销。其他可能返回具有 count属性的集合的语言(例如C#或Delphi)只是为您进行阅读并将结果打包到集合中,以方便您使用。

关于sql - 使用数据库/sql时如何获取返回的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62762491/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com