stub
parent
8f7e4b7095
commit
31e3547268
|
|
@ -1,3 +1,5 @@
|
|||
module 0_setup
|
||||
|
||||
go 1.18
|
||||
|
||||
require github.com/mattn/go-sqlite3 v1.14.15
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
github.com/mattn/go-sqlite3 v1.14.15 h1:vfoHhTN1af61xCRSWzFIWzx2YskyMTwHLrExkBOjvxI=
|
||||
github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||
|
|
@ -3,8 +3,11 @@ package main
|
|||
import (
|
||||
"database/sql"
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
|
@ -17,10 +20,38 @@ func main() {
|
|||
panic(err)
|
||||
}
|
||||
|
||||
if strings.HasPrefix(strings.ToUpper(strings.TrimSpace(*q)), "SELECT") {
|
||||
panic("not impl")
|
||||
query := strings.Trim(strings.TrimSpace(*q), ";") + ";"
|
||||
|
||||
if strings.HasPrefix(strings.ToUpper(strings.TrimSpace(query)), "SELECT") {
|
||||
rows, err := db.Query(query)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer rows.Close()
|
||||
|
||||
columns, err := rows.Columns()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
ptrs := make([]any, len(columns))
|
||||
for i := range ptrs {
|
||||
var v interface{}
|
||||
ptrs[i] = &v
|
||||
}
|
||||
|
||||
for rows.Next() {
|
||||
if err := rows.Scan(ptrs...); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
for i := range ptrs {
|
||||
ptr := ptrs[i].(*interface{})
|
||||
columns[i] = fmt.Sprint(*ptr)
|
||||
}
|
||||
log.Println(columns)
|
||||
}
|
||||
} else {
|
||||
stmt, err := db.Prepare(*q)
|
||||
stmt, err := db.Prepare(query)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue