链式 CURD - 条件方法
所有条件方法返回 cDataBase 对象,可自由叠加组合。详细架构参见 链式 CURD 概述。
Where - WHERE 条件
设置 WHERE AND 条件,支持 ? 占位符 + 参数自动转义。
语法
vb
Function Where(ByVal Condition As String, ParamArray Params() As Variant) As cDataBase示例
vb
' 简单条件
db.Table("users").Where("age > 18").RowRead
' 占位符参数(自动转义单引号)
db.Table("users").Where("name=?", "张三").RowRead
' 多参数
db.Table("users").Where("name=? AND age>?", "张三", 18).RowReadOrWhere - OR 条件
添加 OR 条件,与 Where 的 AND 条件用 OR 连接。
语法
vb
Function OrWhere(ByVal Condition As String, ParamArray Params() As Variant) As cDataBase示例
vb
' AND + OR 组合
' 生成 SQL: WHERE age > 18 OR (status = 'VIP')
db.Table("users").Where("age>?", 18).OrWhere("status=?", "VIP").RowRead
' 多个 OrWhere
' 生成 SQL: WHERE age > 18 OR (role='admin' OR role='super')
db.Table("users").Where("age>?", 18).OrWhere("role='admin'").OrWhere("role='super'").RowReadWhereIn - IN 条件
字段值在指定列表中。支持逗号分隔字符串或多参数形式。
语法
vb
Function WhereIn(ByVal FieldName As String, ParamArray Values() As Variant) As cDataBase示例
vb
' 逗号分隔字符串形式
db.Table("users").WhereIn("status", "active,pending,closed").RowRead
' 多参数形式
db.Table("users").WhereIn("id", 1, 2, 3, 5, 8).RowRead
' 组合其他条件
db.Table("users").Where("age>?", 18).WhereIn("dept", "IT,HR").RowReadWhereNotIn - NOT IN 条件
字段值不在指定列表中。
语法
vb
Function WhereNotIn(ByVal FieldName As String, ParamArray Values() As Variant) As cDataBase示例
vb
' 排除指定角色
db.Table("users").WhereNotIn("role", "admin,root,superadmin").RowReadWhereBetween - BETWEEN 条件
字段值在两个值之间。
语法
vb
Function WhereBetween(ByVal FieldName As String, ByVal Value1 As Variant, ByVal Value2 As Variant) As cDataBase示例
vb
' 年龄范围查询
db.Table("users").WhereBetween("age", 18, 30).RowRead
' 日期范围查询
db.Table("orders").WhereBetween("created_at", "2025-01-01", "2025-12-31").RowRead
' 组合条件
db.Table("users").Where("dept=?", "IT").WhereBetween("salary", 5000, 15000).RowReadWhereNotBetween - NOT BETWEEN 条件
vb
db.Table("users").WhereNotBetween("age", 18, 30).RowReadWhereLike - LIKE 模糊匹配
语法
vb
Function WhereLike(ByVal FieldName As String, ByVal Pattern As String) As cDataBase示例
vb
' 包含匹配
db.Table("users").WhereLike("name", "%张%").RowRead
' 前缀匹配
db.Table("users").WhereLike("email", "admin%").RowRead
' 组合其他条件
db.Table("users").Where("dept=?", "IT").WhereLike("name", "%张%").RowReadWhereNotLike - NOT LIKE
vb
db.Table("users").WhereNotLike("name", "%test%").RowReadWhereNull - IS NULL 条件
语法
vb
Function WhereNull(ByVal FieldName As String) As cDataBase示例
vb
' 查询未删除的记录
db.Table("users").WhereNull("deleted_at").RowRead
' 查询未设置邮箱的用户
db.Table("users").WhereNull("email").RowReadWhereNotNull - IS NOT NULL 条件
vb
' 查询已验证邮箱的用户
db.Table("users").WhereNotNull("email_verified_at").RowRead最后更新: 2026-06-26