2
0

Use interace{} returning SelectValue(s)

Instead of SelectInt32, SelectAllString, etc.

fixes #19
This commit is contained in:
Jack Christensen
2013-06-29 12:07:31 -05:00
parent d1fda1b21c
commit 520da3a102
10 changed files with 257 additions and 716 deletions
+19
View File
@@ -158,6 +158,25 @@ func (c *Connection) SelectRow(sql string) (row map[string]string, err error) {
return
}
func (c *Connection) SelectValue(sql string) (v interface{}, err error) {
onDataRow := func(r *DataRowReader) error {
v = r.ReadValue()
return nil
}
err = c.SelectFunc(sql, onDataRow)
return
}
func (c *Connection) SelectValues(sql string) (values []interface{}, err error) {
values = make([]interface{}, 0, 8)
onDataRow := func(r *DataRowReader) error {
values = append(values, r.ReadValue())
return nil
}
err = c.SelectFunc(sql, onDataRow)
return
}
func (c *Connection) sendSimpleQuery(sql string) (err error) {
bufSize := 5 + len(sql) + 1 // message identifier (1), message size (4), null string terminator (1)
buf := c.getBuf(bufSize)