VF中Field函数与Evaluate函数

VF中Field函数与Evaluate函数,第1张

下面是VFP帮助中的,很容易看懂的:

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')

示例:如果需要返回数组:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11455669.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存