修复统一err

This commit is contained in:
astaxie
2012-09-12 14:57:33 +08:00
parent 403e7e4fff
commit 57fcd45f7c
4 changed files with 74 additions and 73 deletions

24
5.1.md
View File

@@ -67,7 +67,7 @@ Close函数关闭当前的连接以及执行释放连接拥有的资源等清
Begin函数返回一个代表事务处理的Tx通过它你可以进行查询,更新等操作,或者对事务进行回滚、递交。
##drive.Stmt
##driver.Stmt
Stmt是一种准备好的状态和Conn相关联而且是只能应用于一个goroutine中不能应用在多个goroutine中。
type Stmt interface {
@@ -86,7 +86,7 @@ Exec函数执行Prepare准备好的sql传入参数执行update/insert等操
Query函数执行Prepare准备好的sql传入需要的参数执行select操作返回Rows结果集
##drive.Tx
##driver.Tx
事务处理一般就两个过程,递交或者回滚。数据库驱动里面也只需要实现这两个函数就可以
type Tx interface {
@@ -96,7 +96,7 @@ Query函数执行Prepare准备好的sql传入需要的参数执行select操
这两个函数一个用来递交一个事务,一个用来回滚事务。
##drive.Execer
##driver.Execer
这是一个Conn可选择实现的接口
type Execer interface {
@@ -105,7 +105,7 @@ Query函数执行Prepare准备好的sql传入需要的参数执行select操
如果这个接口没有定义那么在调用DB.Exec,就会首先调用Prepare返回Stmt然后执行Stmt的Exec然后关闭Stmt。
##drive.Result
##driver.Result
这个是执行Update/Insert等操作返回的结果接口定义
type Result interface {
@@ -117,7 +117,7 @@ LastInsertId函数返回由数据库执行插入操作得到的自动增长ID号
RowsAffected函数返回query操作影响的数据条目数。
##drive.Rows
##driver.Rows
Rows是执行查询返回的结果集接口定义
type Rows interface {
@@ -133,10 +133,10 @@ Columns函数返回查询数据库表的字段信息这个返回的slice和
Close函数用来关闭Rows迭代器。
Next函数用来返回下一条数据把数据赋值给dest。dest里面的元素必须是drive.Value的值除了string返回的数据里面所有的string都必须要转换成[]byte。如果最后没数据了Next函数最后返回io.EOF。
Next函数用来返回下一条数据把数据赋值给dest。dest里面的元素必须是driver.Value的值除了string返回的数据里面所有的string都必须要转换成[]byte。如果最后没数据了Next函数最后返回io.EOF。
##drive.RowsAffected
##driver.RowsAffected
RowsAffested其实就是一个int64的别名但是他实现了Result接口用来底层实现Result的表示方式
type RowsAffected int64
@@ -145,7 +145,7 @@ RowsAffested其实就是一个int64的别名但是他实现了Result接口
func (v RowsAffected) RowsAffected() (int64, error)
##drive.Value
##driver.Value
Value其实就是一个空接口他可以容纳任何的数据
type Value interface{}
@@ -159,7 +159,7 @@ Value的值必须所有的驱动里面控制的Value要么是nil要么是
string [*]除了Rows.Next返回的不能是string.
time.Time
##drive.ValueConverter
##driver.ValueConverter
ValueConverter接口定义了如何把一个普通的值转化成driver.Value的接口
type ValueConverter interface {
@@ -168,11 +168,11 @@ ValueConverter接口定义了如何把一个普通的值转化成driver.Value的
在开发的数据库驱动包里面实现这个接口的函数在很多地方会使用到这个ValueConverter有很多好处
- 转化drive.value到数据库表相应的字段例如int64的数据如何转化成数据库表uint16字段
- 把数据库查询结果转化成drive.Value值
- 转化driver.value到数据库表相应的字段例如int64的数据如何转化成数据库表uint16字段
- 把数据库查询结果转化成driver.Value值
- 在scan函数里面如何把dirve.Value值转化成用户定义的值
##drive.Valuer
##driver.Valuer
Valuer接口定义了返回一个driver.Value的方式
type Valuer interface {