golang sqlite3 BY

//QQ29295842

我的例子

package go_task

import (
    "database/sql"
    "fmt"
    "os"
    //"strings"
    "time"
    _ "github.com/mattn/go-sqlite3"
)
type appContext struct {
    db *sql.DB
}
//func add_TABLE()
// 检查文件或目录是否存在// 如果由 filename 指定的文件或目录存在则返回 true,否则返回 false
func Exist(filename string) bool {
    _, err := os.Stat(filename)
    return err == nil || os.IsExist(err)
}
func SQLite_open(name string) (*appContext, string) { //打开数据库
    if Exist(name) {
        fmt.Println("file SQLite ok")
        //os.Remove("abc.db") //删除文件
        db, err := sql.Open("sqlite3", name)
        if err != nil {
            return nil, err.Error()
        }
        if err = db.Ping(); err != nil {
            return nil, err.Error()
        }
        return &appContext{db}, ""
        //defer db.Close()
    } else {
        fmt.Println("file SQLite no")
        os.Create(name) //创建文件
        //
        db, err := sql.Open("sqlite3", name)
        if err != nil {
            return nil, err.Error()
        }
        if err = db.Ping(); err != nil {
            return nil, err.Error()
        }
        //defer db.Close()
        ///
        sqlStmt := `
                    CREATE TABLE "log" (
                    "id"  INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                    "name"  TEXT(100) NOT NULL,
                    "megbox"  TEXT(100) NOT NULL,
                    "time"  TEXT(100) NOT NULL
                    );
                    `
        _, err = db.Exec(sqlStmt) //创建表
        if err != nil {
            fmt.Printf("%q: %s\n", err, sqlStmt)
            return nil, err.Error()
        }
        defer db.Close()
        /
        dbx, err := sql.Open("sqlite3", name)
        if err != nil {
            return nil, err.Error()
        }
        if err = dbx.Ping(); err != nil {
            return nil, err.Error()
        }
        return &appContext{dbx}, ""
    }
}
func (c *appContext) SQLite_Exec(sql string) {
    _, err := c.db.Exec(sql)
    if err != nil {
        fmt.Printf("add error: %v", err)
        return
    }
}
func Time_Unix() string { //获取时间戳
    time_data := fmt.Sprintf("%d", time.Now().Unix())
    return time_data
}


    c, err := go_task.SQLite_open("abc.db")

    if err != "" {
        print(err)
    }
    sql := fmt.Sprintf("insert into log(name,megbox,time) VALUES('111','222','%s')", go_task.Time_Unix())
    c.SQLite_Exec(sql)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值