package test import ( "fmt" "io" "os" "testing" ) func TestInsertLob(t *testing.T) { // 打开文件 file, err := os.Open("A.jpg") if err != nil { fmt.Println("Error opening file:", err) return } // 确保在函数结束时关闭文件 defer file.Close() // 读取文件内容 fileContent, err := io.ReadAll(file) if err != nil { fmt.Println("Error reading file:", err) return } _, err = db.Exec("INSERT INTO gotab3 VALUES(?,NULL,?,NULL);", 3, fileContent) if err != nil { fmt.Printf("[ERROR] %s\n", err.Error()) } } func TestSelecttLob(t *testing.T) { rows, err := db.Query("select * from gotab3;") if err != nil { fmt.Printf("[ERROR] %s\n", err.Error()) return } column, err := rows.Columns() if err != nil { fmt.Printf("[ERROR] %s\n", err.Error()) return } rows_value := make([]interface{}, len(column)) for key, _ := range rows_value { dest := make([]byte, 1000000) rows_value[key] = &dest } for rows.Next() { rows.Scan(rows_value...) for _, v := range rows_value { fmt.Printf("结果: %s\t", string(*(v.(*[]byte)))) } fmt.Printf("\n") } rows.Close() db.Close() }