
field(
)
根据编号返回表中的字段名。
语法
FIELD(nFieldNumber
[,
nWorkArea
|
cTableAlias])
参数
nFieldNumber
指定字段编号。如果
nFieldNumber
等于
1,则返回表中的第一个字段名;如果
nFieldNumber
等于
2,则返回第二个字段名,依此类推。如果
nFieldNumber
大于字段的数目,则返回空字符串。返回的字段名为大写。
nWorkArea
字段所属表的工作区。
如果在指定工作区中没有打开的表,field(
)
函数将返回空字符串。
cTableAlias
字段所属表的别名。
如果指定的表别名不存在,Visual
FoxPro
将产生错误信息。
返回值类型
字符型
说明
如果省略可选参数,field(
)
函数将返回当前选定工作区中已打开表的字段名。
示例
clear
use
customer
&&
打开
customer
表
for
gncount
=
1
to
fcount(
)
&&
循环次数等于字段的数目
?
field(gncount)
&&
显示各字段
next
?
?
'number
of
fields:
'
+
alltrim(str(gncount
-1))
evaluate(
)
函数
计算字符表达式的值并返回结果。
语法
EVALUATE(cExpression)
参数
cExpression
指定要计算的表达式。cExpression
可以是原义字符串,也可以是引号括起的各种数据类型的有效
Visual
FoxPro
表达式、内存变量、数组元素或字段。cExpression
中的字符不能超过
255
个。
只要可能,就应使用
EVALUATE(
)
和名称表达式来代替使用
&的宏替换,因为
evaluate(
)
函数或名称表达式比宏替换的执行速度快。
返回值类型
字符型、数值型、货币型、日期型、日期时间型、逻辑型或备注型。
说明
evaluate(
)
函数与
TYPE(
)
函数类似,只不过返回的是表达式的值而不是其类型。包含
evaluate(
)
函数的表达式不能使用
Rushmore
技术优化。
做数据库查询的时候,比较经常用到这两个,总是查手册,记不住,现在把它总结下,希望以后用的时候不查手册了。不管是用select 查询数据集,还是用find 查询数据,常配合连贯 *** 作where、field、order等一起使用。
field():用于定义要查询的字段(支持字段排除)
用法:field($field , $except=false)
参数:$field —— 字段名,要查询的字段名;
$except —— 是否排除,默认为false,省略不写;如果为true,表示定义的字段为数据表中排除$field参数定义之外的所有字段
返回值:当前的模型实例
注:不调用field方法,默认返回所有字段,和field( '*' )等效。
需要显式的传入所有的字段,可以使用下面的方法:
$model ->field(true) ->select()
但是建议只获取需要显式的字段名,或者采用字段排除方式来定义,例如:
$model ->field( 'status' , true) ->select() //获取除了status之外的所有字段
$model ->field( 'id','nickname')->select() //获取id和nickname字段
getField():用于查询某个字段的值
用法:getField($field, $sepa=null)
参数:$field —— 要获取的字段字符串(多个用逗号分隔)
$sepa —— 字段数据间隔符号,如果是 NULL返回数组为数组。默认为null
返回值:如果查询结果为空返回null,如果field是一个字段则返回该字段的值,如果field是多个字段,返回数组。数组的索引是第一个字段的值,sepa为null则返回二维数组。
示例:当只有一个字段的时候,默认返回一个值。
$User = M("User")// 实例化User对象
// 获取ID为3的用户的昵称
$nickname = $User->where('id=3')->getField('nickname')
示例:如果需要返回数组:
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)