Slide 29
Slide 29 text
type Person struct {
ID int `json:”id”`
Name string `json:”name”`
LastName string `json:”last_name”`
Blob []byte `json:”blob” dbw:”nocache,blob”`
}
var (
row Patient
arr []Patient
)
tbl := table.NewSimple(db, "patients", &Patient{})
// чтение всех полей таблицы
err := tbl.DoSelect (func() error { arr = append(arr, row); return nil }, &row);
// обработка ошибки
// чтение всех полей, кроме полей имеющих тэг “blob”
err := tbl.DoSelectEx (“blob”, dbw.Exclude, func() error { arr = append(arr, row); return nil }, &row);
// чтение только полей имеющих тэг blob
err := tbl.DoSelectEx (“blob”, dbw.Include, func() error { arr = append(arr, row); return nil }, &row);
// чтени полей, которые имеют тэг “blob” и обработка в процессе выборки записей
err := tbl.DoSelectEx (“blob”, dbw.Include, func() error {
// делаем что то, с полем row.Blob без сохранения
return nil }, &row);