mirror of
https://github.com/teivah/100-go-mistakes.git
synced 2026-06-20 16:45:56 +08:00
66 lines
1 KiB
Go
66 lines
1 KiB
Go
package main
|
|
|
|
import "database/sql"
|
|
|
|
func listing1(db *sql.DB, id string) error {
|
|
rows, err := db.Query("SELECT DEP, AGE FROM EMP WHERE ID = ?", id)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Defer closing rows
|
|
|
|
var (
|
|
department string
|
|
age int
|
|
)
|
|
for rows.Next() {
|
|
err := rows.Scan(&department, &age)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// ...
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func listing2(db *sql.DB, id string) error {
|
|
rows, err := db.Query("SELECT DEP, AGE FROM EMP WHERE ID = ?", id)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Defer closing rows
|
|
|
|
var (
|
|
department *string
|
|
age int
|
|
)
|
|
for rows.Next() {
|
|
err := rows.Scan(&department, &age)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// ...
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func listing3(db *sql.DB, id string) error {
|
|
rows, err := db.Query("SELECT DEP, AGE FROM EMP WHERE ID = ?", id)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// Defer closing rows
|
|
|
|
var (
|
|
department sql.NullString
|
|
age int
|
|
)
|
|
for rows.Next() {
|
|
err := rows.Scan(&department, &age)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// ...
|
|
}
|
|
return nil
|
|
}
|