sql.go (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
package main
import (
"database/sql"
"log"
_ "github.com/mattn/go-sqlite3"
)
type musicItem struct {
id int
external_ids sql.NullString
Name string
Artist string
price float64
seller sql.NullString
note sql.NullString
purchase_date sql.NullString
}
func openDB(DBName string) (*sql.DB, error) {
db, err := sql.Open("sqlite3", DBName+".db")
if err != nil {
panic("couldn't open db")
}
return db, nil
}
func loadMusic() []musicItem {
db, err := openDB("walletdrain")
if err != nil {
panic("couldn't open db")
}
defer db.Close()
query := "SELECT * FROM music"
rows, err := db.Query(query)
if err != nil {
panic(err)
}
defer rows.Close()
var results []musicItem
for rows.Next() {
var result musicItem
err := rows.Scan(
&result.id,
&result.external_ids,
&result.Name,
&result.Artist,
&result.price,
&result.seller,
&result.note,
&result.purchase_date)
if err != nil {
log.Print(err)
}
results = append(results, result)
}
return results
}
|