链式 CURD - 终结方法
终结方法执行实际数据库操作,执行后自动重置构建器状态(ResetBuilder)。详细架构参见 链式 CURD 概述。
Field - 设置字段值
配合 RowCreate 和 RowUpdate 使用,设置插入/更新的字段值。
语法
vb
Function Field(ByVal FieldName As String, ByVal Value As Variant) As cDataBase示例
vb
' 插入时设置字段值
db.Table("users").Field("name", "张三").Field("age", 25).RowCreate
' 更新时设置字段值
db.Table("users").Where("id=?", 1).Field("name", "张三更新").Field("age", 26).RowUpdateRowCreate - 创建行
语法
vb
Function RowCreate() As cDataBase用法模式
vb
' 模式1:链式 Field(推荐,一行完成插入)
With db.Table("users")
.Field "name", "张三"
.Field "age", 25
.Field "email", "zhang@example.com"
.RowCreate
End With
' 模式2:传统 Rs 编辑(适合需要逐字段判断的场景)
With db.Table("users").RowCreate
.Rs!name = "张三"
.Rs!age = 25
.Rs.Update
End With
' 获取插入后的自增ID
With db.Table("users")
.Field "name", "李四"
.RowCreate
Debug.Print "新ID: " & db.LastInsertId
End WithRowRead - 查询行
语法
vb
Function RowRead() As cDataBase查询结果存储在 db.Rs (Recordset) 中,可通过 db.Rs!字段名 访问。
示例
vb
' 简单查询
If db.Table("users").Where("id=?", 1).RowRead Then
Debug.Print db.Rs!name
End If
' 链式复杂查询
db.Table("users") _
.Columns("id,name,age") _
.Where("age>?", 18) _
.WhereIn("dept", "IT,HR") _
.OrderByDesc("age") _
.Limit(10) _
.RowRead
' 遍历结果
If db.Table("users").Where("status=?", "active").RowRead Then
Do Until db.Rs.EOF
Debug.Print db.Rs!name & " - " & db.Rs!age
db.Rs.MoveNext
Loop
End IfRowUpdate - 更新行
语法
vb
Function RowUpdate() As cDataBase用法模式
vb
' 模式1:链式 Field(推荐,一行完成更新)
With db.Table("users").Where("id=?", 1)
.Field "name", "张三更新"
.Field "age", 26
.RowUpdate
End With
' 模式2:传统 Rs 编辑
With db.Table("users").Where("id=?", 1).RowUpdate
.Rs!name = "张三更新"
.Rs.Update
End With
' 批量更新(配合 WhereIn)
With db.Table("users").WhereIn("id", 1, 2, 3)
.Field "status", "archived"
.RowUpdate
End With注意: RowUpdate 要求必须设置 Where 条件,防止误更新全表。
RowDelete - 删除行
语法
vb
Function RowDelete() As cDataBase示例
vb
' 按ID删除
db.Table("users").Where("id=?", 1).RowDelete
' 批量删除
db.Table("users").WhereIn("id", 5, 8, 13).RowDelete
' 条件删除
db.Table("logs").Where("created_at<'2025-01-01'").RowDelete
' 组合条件删除
db.Table("users") _
.Where("status=?", "expired") _
.WhereNull("email") _
.RowDelete注意: RowDelete 要求必须设置 Where 条件,防止误删全表。
最后更新: 2026-06-26