diff options
Diffstat (limited to 'sql.go.example')
| -rw-r--r-- | sql.go.example | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/sql.go.example b/sql.go.example new file mode 100644 index 00000000..af73c7ad --- /dev/null +++ b/sql.go.example @@ -0,0 +1,46 @@ +package main + +import ( + "database/sql" + _ "modernc.org/sqlite" + "fmt" + "log" + _ "modernc.org/sqlite" +) + +type Entry struct { + os string + name string + section int + path string +} + +func main() { + db, err := sql.Open("sqlite", "man.db") + if err != nil { + log.Fatal(err) + } + + if err := db.Ping(); err != nil { + log.Fatal(err) + } + + r, err := db.Query("SELECT * FROM manpages WHERE name == 'intro';") + if err != nil { + log.Fatal(err) + } + defer r.Close() + + for r.Next() { + var entry Entry + if err := r.Scan(&entry.os, &entry.name, &entry.section, &entry.path); err != nil { + log.Fatal(err) + } + fmt.Println(entry.os, entry.name, entry.section, entry.path) + } + + err = db.Close() + if err != nil { + log.Fatal(err) + } +} |
