当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO Stmt.QueryRowContext用法及代码示例


GO语言"database/sql"包中"Stmt.QueryRowContext"类型的用法及代码示例。

用法:

func(s *Stmt) QueryRowContext(ctx context.Context, args ...any) *Row

QueryRowContext 使用给定的参数执行准备好的查询语句。如果在语句执行期间发生错误,则该错误将通过对返回的 *Row 调用 Scan 来返回,该 *Row 始终为非零。如果查询未选择任何行,*Row's Scan 将返回 ErrNoRows 否则,*Row's Scan 扫描第一个选定行并丢弃其余行。

例子:

package main

import (
	"context"
	"database/sql"
	"log"
)

var (
	ctx context.Context
	db  *sql.DB
)

func main() {
	// In normal use, create one Stmt when your process starts.
	stmt, err := db.PrepareContext(ctx, "SELECT username FROM users WHERE id = ?")
	if err != nil {
		log.Fatal(err)
	}
	defer stmt.Close()

	// Then reuse it each time you need to issue the query.
	id := 43
	var username string
	err = stmt.QueryRowContext(ctx, id).Scan(&username)
	switch {
	case err == sql.ErrNoRows:
		log.Fatalf("no user with id %d", id)
	case err != nil:
		log.Fatal(err)
	default:
		log.Printf("username is %s\n", username)
	}
}

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 Stmt.QueryRowContext。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。