常见数据类型读写

示例如下,演示对int、varchar、bool、int64、float、time类型进行读写测试:

func rwManyTypes(db *sql.DB){
            var err         error
            var result      sql.Result
            var insertSQL   string    = `insert into testcase1(col1, col2,
                                             col3, col4, col6) values(:1,
                                             :2, :3, :4, :6)`
            var querySQL    string    = `select col1, col2, col3, col4, col5,
                                                    col6 from testcase1`

            var valInt      int       = 10                  //整形
            var valString   string    = "hello"     //字符串形
            var valBool     bool      = true        //bool类型
            var valInt64    int64     = 2141234     //int64类型
            var valTime     time.Time = time.Now()  //时间类型

            var valInt2     int
            var valString2  string
            var valBool2    bool
            var valInt642   int64
            var valFloat642 float64
            var valTime2    time.Time

            //插入数据
            result, err = db.Exec(insertSQL, valInt, valString,
                                      valBool, valInt64, valTime)
            getError(err)
            rowsAffected, err := result.RowsAffected()
            fmt.Println(rowsAffected)

            //查询
            rows, err := db.Query(querySQL)
            getError(err)
            defer rows.Close()

            //结果集获取
            for rows.Next() {

                    rows.Scan(&valInt2, &valString2, &valBool2, &valInt642, &valFloat642,
                     &valTime2)

                    fmt.Println(valInt2)
                    fmt.Println(valString2)
                    fmt.Println(valBool2)
                    fmt.Println(valInt642)
                    fmt.Println(valFloat642)
                    fmt.Println(valTime2)
            }
    }