package main
import (
"fmt"
"log"
"github.com/jmoiron/sqlx"
_ "github.com/lib/pq"
)
func connDatabase(databaseTypeName string, user string, password string, databaseName string) *sqlx.DB {
db, err := sqlx.Open(databaseTypeName, "user="+user+" password="+password+" dbname="+databaseName+" sslmode=disable")
checkError(err, "open database")
return db
}
func main() {
db := connDatabase("postgres", "vimi", "stupidone", "test")
defer db.Close()
result, err := db.Exec("select * from story")
fmt.Println(result.RowsAffected())
checkError(err, "select")
rows, err := db.Queryx("select * from story")
checkError(err, "Queryx")
for rows.Next() {
var createUser, url, createDate string
err := rows.Scan(&createUser, &url, &createDate)
checkError(err, "rows")
fmt.Println(createUser)
fmt.Println(url)
fmt.Println(createDate)
}
// stmt, err := db.Prepare("select * from story")
// defer stmt.Close()
// checkError(err, "stmt")
//and also can this
rr, err := db.Queryx("insert into story(create_user, url, create_date) values($1, $2, $3)", "jack", "google.com", "yesterday")
fmt.Println(rr)
checkError(err, "insert")
}
func checkError(err error, name string) {
if err != nil {
log.Fatal(err.Error() + " ---- " + name)
}
}