bug fixed go-xorm/xorm#357
This commit is contained in:
parent
0c32ca567a
commit
ec9a49656e
29
db.go
29
db.go
|
@ -142,6 +142,12 @@ func (row *Row) ScanStructByName(dest interface{}) error {
|
||||||
if row.err != nil {
|
if row.err != nil {
|
||||||
return row.err
|
return row.err
|
||||||
}
|
}
|
||||||
|
if !row.rows.Next() {
|
||||||
|
if err := row.rows.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return sql.ErrNoRows
|
||||||
|
}
|
||||||
return row.rows.ScanStructByName(dest)
|
return row.rows.ScanStructByName(dest)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -149,6 +155,12 @@ func (row *Row) ScanStructByIndex(dest interface{}) error {
|
||||||
if row.err != nil {
|
if row.err != nil {
|
||||||
return row.err
|
return row.err
|
||||||
}
|
}
|
||||||
|
if !row.rows.Next() {
|
||||||
|
if err := row.rows.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return sql.ErrNoRows
|
||||||
|
}
|
||||||
return row.rows.ScanStructByIndex(dest)
|
return row.rows.ScanStructByIndex(dest)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,6 +169,12 @@ func (row *Row) ScanSlice(dest interface{}) error {
|
||||||
if row.err != nil {
|
if row.err != nil {
|
||||||
return row.err
|
return row.err
|
||||||
}
|
}
|
||||||
|
if !row.rows.Next() {
|
||||||
|
if err := row.rows.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return sql.ErrNoRows
|
||||||
|
}
|
||||||
return row.rows.ScanSlice(dest)
|
return row.rows.ScanSlice(dest)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,12 +183,21 @@ func (row *Row) ScanMap(dest interface{}) error {
|
||||||
if row.err != nil {
|
if row.err != nil {
|
||||||
return row.err
|
return row.err
|
||||||
}
|
}
|
||||||
|
if !row.rows.Next() {
|
||||||
|
if err := row.rows.Err(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return sql.ErrNoRows
|
||||||
|
}
|
||||||
return row.rows.ScanMap(dest)
|
return row.rows.ScanMap(dest)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *DB) QueryRow(query string, args ...interface{}) *Row {
|
func (db *DB) QueryRow(query string, args ...interface{}) *Row {
|
||||||
rows, err := db.Query(query, args...)
|
rows, err := db.Query(query, args...)
|
||||||
return &Row{rows, err}
|
if err != nil {
|
||||||
|
return &Row{nil, err}
|
||||||
|
}
|
||||||
|
return &Row{rows, nil}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *DB) QueryRowMap(query string, mp interface{}) *Row {
|
func (db *DB) QueryRowMap(query string, mp interface{}) *Row {
|
||||||
|
|
2
error.go
2
error.go
|
@ -5,6 +5,4 @@ import "errors"
|
||||||
var (
|
var (
|
||||||
ErrNoMapPointer = errors.New("mp should be a map's pointer")
|
ErrNoMapPointer = errors.New("mp should be a map's pointer")
|
||||||
ErrNoStructPointer = errors.New("mp should be a struct's pointer")
|
ErrNoStructPointer = errors.New("mp should be a struct's pointer")
|
||||||
//ErrNotExist = errors.New("Not exist")
|
|
||||||
//ErrIgnore = errors.New("Ignore")
|
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue