Browse Source

正常完成数据入库操作

master
453530270@qq.com 2 years ago
parent
commit
676eea764c
  1. 8
      fstool/db/sqliteDb.go
  2. 10
      fstool/main.go
  3. 3
      fstool/util/fsutil.go

8
fstool/db/sqliteDb.go

@ -11,7 +11,7 @@ import (
var db *sql.DB var db *sql.DB
var err error var err error
func init() { func Init() {
fmt.Printf("hey,I am initilize function in SqliteDb\n") fmt.Printf("hey,I am initilize function in SqliteDb\n")
// //
// Open() 函数指定驱动名称和数据源名称 // Open() 函数指定驱动名称和数据源名称
@ -21,13 +21,13 @@ func init() {
return return
} }
// 调用db.Close() 函数,确保关闭数据库并阻止启动新的查询 // 调用db.Close() 函数,确保关闭数据库并阻止启动新的查询
defer db.Close() // defer db.Close()
// //
connectDB() connectDB()
} }
// 连接数据库 // 连接数据库
func ConnectDB() { func connectDB() {
var version string var version string
// QueryRow() 执行查询,返回版本号 // QueryRow() 执行查询,返回版本号
err = db.QueryRow("SELECT SQLITE_VERSION()").Scan(&version) err = db.QueryRow("SELECT SQLITE_VERSION()").Scan(&version)
@ -40,7 +40,7 @@ func ConnectDB() {
} }
// 创建数据库表 // 创建数据库表
func createTable() { func CreateTable() {
// 建表语句 // 建表语句
sts := ` sts := `
CREATE TABLE f_info ( CREATE TABLE f_info (

10
fstool/main.go

@ -26,7 +26,9 @@ func main() {
//fmt.Printf("your path is :%s\n", path) //fmt.Printf("your path is :%s\n", path)
// open datebase // open datebase
db.ConnectDB() db.Init()
// 创建数据表
db.CreateTable()
//遍历 //遍历
// var ftree []string // var ftree []string
ftree, err := util.GetDirFilePaths(path, false) ftree, err := util.GetDirFilePaths(path, false)
@ -47,7 +49,11 @@ func main() {
var stf db.StFileInfo var stf db.StFileInfo
stf.Fhash = util.CalacHash(v) stf.Fhash = util.CalacHash(v)
stf.Fname = filepath.Base(v) stf.Fname = filepath.Base(v)
stf.Fpath = filepath.Dir(relpath)
// path
rlpath := filepath.ToSlash(relpath)
rlpath = filepath.Join(rlpath, "/")
stf.Fpath = filepath.Dir(rlpath)
// insert into db // insert into db
db.InsertStf(stf) db.InsertStf(stf)
} }

3
fstool/util/fsutil.go

@ -40,7 +40,8 @@ func CalacHash(rfile string) string {
// //
file, err := os.Open(rfile) file, err := os.Open(rfile)
if err != nil { if err != nil {
panic(err) // panic(err)
fmt.Printf("err %s\n", err)
} }
defer file.Close() defer file.Close()

Loading…
Cancel
Save