diff --git a/session.go b/session.go index da825161..d68f9783 100644 --- a/session.go +++ b/session.go @@ -985,6 +985,9 @@ func (session *Session) Get(bean interface{}) (bool, error) { } // defer stmt.Close() // !nashtsai! don't close due to stmt is cached and bounded to this session rawRows, err = stmt.Query(args...) + if err != nil { + return false, err + } } else { rawRows, err = session.Tx.Query(sqlStr, args...) } @@ -1108,6 +1111,11 @@ func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) sqlStr = session.Statement.genSelectSql(columnStr) args = append(session.Statement.Params, session.Statement.BeanArgs...) + // for mssql and use limit + qs := strings.Count(sqlStr, "?") + if len(args)*2 == qs { + args = append(args, args...) + } } else { sqlStr = session.Statement.RawSQL args = session.Statement.RawParams