From 20130f141f869b3fa81a9bcdecd78c59b898459e Mon Sep 17 00:00:00 2001
From: Brad Fitzpatrick <bradfitz@golang.org>
Date: Fri, 11 Jan 2013 14:46:49 -0800
Subject: [PATCH] database/sql: document args, add a couple examples

Fixes #3460

R=golang-dev, alex.brainman
CC=golang-dev
https://golang.org/cl/7096046
---
 src/pkg/database/sql/example_test.go | 45 ++++++++++++++++++++++++++++
 src/pkg/database/sql/sql.go          |  1 +
 2 files changed, 46 insertions(+)
 create mode 100644 src/pkg/database/sql/example_test.go

diff --git a/src/pkg/database/sql/example_test.go b/src/pkg/database/sql/example_test.go
new file mode 100644
index 0000000000..d47eed50c0
--- /dev/null
+++ b/src/pkg/database/sql/example_test.go
@@ -0,0 +1,45 @@
+// Copyright 2013 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package sql_test
+
+import (
+	"database/sql"
+	"fmt"
+	"log"
+)
+
+var db *sql.DB
+
+func ExampleDB_Query() {
+	age := 27
+	rows, err := db.Query("SELECT name FROM users WHERE age=?", age)
+	if err != nil {
+		log.Fatal(err)
+	}
+	for rows.Next() {
+		var name string
+		if err := rows.Scan(&name); err != nil {
+			log.Fatal(err)
+		}
+		fmt.Printf("%s is %d\n", name, age)
+	}
+	if err := rows.Err(); err != nil {
+		log.Fatal(err)
+	}
+}
+
+func ExampleDB_QueryRow() {
+	id := 123
+	var username string
+	err := db.QueryRow("SELECT username FROM users WHERE id=?", id).Scan(&username)
+	switch {
+	case err == sql.ErrNoRows:
+		log.Printf("No user with that ID.")
+	case err != nil:
+		log.Fatal(err)
+	default:
+		fmt.Printf("Username is %s\n", username)
+	}
+}
diff --git a/src/pkg/database/sql/sql.go b/src/pkg/database/sql/sql.go
index 31fc830bb3..29aef78b24 100644
--- a/src/pkg/database/sql/sql.go
+++ b/src/pkg/database/sql/sql.go
@@ -373,6 +373,7 @@ func (db *DB) exec(query string, args []interface{}) (res Result, err error) {
 }
 
 // Query executes a query that returns rows, typically a SELECT.
+// The args are for any placeholder parameters in the query.
 func (db *DB) Query(query string, args ...interface{}) (*Rows, error) {
 	stmt, err := db.Prepare(query)
 	if err != nil {
-- 
2.30.9