Model
type ProdutoCor struct {
Id int32
Codigo string
Descricao string
FkFornecedor Cadastro
CorPredominante string
CorSegundaria string
}
func ListarProdutoCorA() []ProdutoCor {
db := dbs.Conn("Mysql")
sql := fmt.Sprintf("SELECT Id, Codigo, Descricao , Fk_Fornecedor , CorPredominante, CorSegundaria FROM PRODUTOCOR")
cores := []ProdutoCor{}
rs, err := db.Query(sql)
if err != nil {
panic(err.Error())
}
for rs.Next() {
c := ProdutoCor{}
rs.Scan(&c.Id, &c.Codigo, &c.Descricao, &c.FkFornecedor, &c.CorPredominante, &c.CorSegundaria)
cores = append(cores, c)
}
return cores
}
func ListarProdutoCorB() []ProdutoCor {
db := dbs.Conn("Mysql")
sql := fmt.Sprintf("SELECT Id, Codigo, Descricao , Fk_Fornecedor , CorPredominante, CorSegundaria FROM PRODUTOCOR")
cores := []ProdutoCor{}
rs, err := db.Query(sql)
if err != nil {
panic(err.Error())
}
for rs.Next() {
c := ProdutoCor{}
err := rs.Scan(&c.Id, &c.Codigo, &c.Descricao, &c.FkFornecedor, &c.CorPredominante, &c.CorSegundaria)
if err != nil {
panic(err.Error())
}
cores = append(cores, c)
}
return cores
}
Tentando obter dados pela funcao ListarProdutoCorA, quando scan chega em uma coluna que possui valor NULO, sistema não trava porem ele pula todas as colunas a seguir e começar scan no proximo registro. tentando obter dados pela função ListarProdutoCorB sistema encerra com seguinte erro : ** Error: sql: Scan error on column index 4: unsupported Scan, storing driver.Value type into type string **
como devo resolver esses problemas, sendo que esses colunas pode vir nulo?