golangはsqliteを使用します

1622 ワード

インストールの問題
import sqliteの時、golang buildに以下のエラーが発生しました。
exec: "gcc": executable file not found in %PATH%
理由はsqlile 3はcgoライブラリです。gcdコンパイルcコードが必要です。そしてtdm-gccをダウンロードしてインストールすればいいです。http://tdm-gcc.tdragon.net/download
golangにsqlite 3を使う
`js package main
import(「database/sql」「fmt」_「githb.com/matn/go-sqlite 3」)
func main(){db,err:=sql.Open("sqlite 3","./foo.db")chocErr(err)
//    
stmt, err := db.Prepare("INSERT INTO userinfo(username, departname, created) values(?,?,?)")
checkErr(err)

res, err := stmt.Exec("astaxie", "    ", "2012-12-09")
checkErr(err)

id, err := res.LastInsertId()
checkErr(err)

fmt.Println(id)
//    
stmt, err = db.Prepare("update userinfo set username=? where uid=?")
checkErr(err)

res, err = stmt.Exec("astaxieupdate", id)
checkErr(err)

affect, err := res.RowsAffected()
checkErr(err)

fmt.Println(affect)

//    
rows, err := db.Query("SELECT * FROM userinfo")
checkErr(err)

for rows.Next() {
    var uid int
    var username string
    var department string
    var created string
    err = rows.Scan(&uid, &username, &department, &created)
    checkErr(err)
    fmt.Println(uid)
    fmt.Println(username)
    fmt.Println(department)
    fmt.Println(created)
}

//    
stmt, err = db.Prepare("delete from userinfo where uid=?")
checkErr(err)

res, err = stmt.Exec(id)
checkErr(err)

affect, err = res.RowsAffected()
checkErr(err)

fmt.Println(affect)

db.Close()
)
func checkErr{if erer!=nil{panic}`。
もっとアクセスしてください。