标题:[求助]如何知道表的总字段宽度
只看楼主
paciolio
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-12-30
 问题点数:0 回复次数:4 
[求助]如何知道表的总字段宽度
我在网上查到可以使用fsize()这个函数,但是我这样在命令窗口输入
use books && books 是表的名称
?fsize(books)
系统提示找不到books这个变量,在程序中也是这样
请教高手fsize()函数到底怎么用?
如何知道表的总字段宽度?
谢谢了!!!
搜索更多相关主题的帖子: 字段 宽度 
2006-01-03 16:21
vfpuse
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-9-9
得分:0 

fsize( ) 函数

示例 请参阅

以字节为单位,返回指定字段或文件的大小。

语法

FSIZE(cFieldName [, nWorkArea | cTableAlias] | cFileName)

返回值类型

数值型

参数

cFieldName

指定字段名。

nWorkArea

指定表所在的工作区,fsize( ) 函数返回该表中某个字段的大小。

如果在指定工作区中没有打开的表,fsize( ) 函数的返值为 0

cTableAlias

指定表的别名,fsize( ) 函数返回该表中某个字段的大小。

如果指定的表别名不存在,Visual FoxPro 将产生错误信息。

cFileName

指定文件名,fsize( ) 函数以字节为单位返回其大小。

说明

SET COMPATIBLE 的当前设置决定了 fsize( ) 函数返回的是字段大小还是文件大小。如果 SET COMPATIBLE 设置为 OFF FOXPLUS(默认值),则 fsize( ) 函数返回字段大小;如果 SET COMPATIBLE 设置为 ON DB4,则 fsize( ) 函数返回文件大小。

下表列出了各种字段类型的默认大小(以字节为单位)

字段类型 默认的字段大小(以字节为单位)

货币型 8

日期型 8

日期时间型 8

双精度型 8

整型 4

逻辑型 1

备注型 4

通用型 4

可以使用 DISPLAY STRUCTURE LIST STRUCTURE 命令显示字段大小。

如果省略可选参数 nWorkArea cTableAliasfsize( ) 函数将返回当前表和工作区中字段的大小。

[此贴子已经被作者于2006-1-3 17:10:44编辑过]

2006-01-03 17:09
paciolio
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-12-30
得分:0 

非常感谢您的指点!
不过我还是不太明白(cFieldName [, nWorkArea | cTableAlias] | cFileName)意味着什么,如果我有一个表叫做books,它有书名,价格,出版日期,出版社这几个字段,
麻烦高手给我具体的做个示例,比如我想求整个表的字段宽度,求个书名的字段宽度该怎么办该怎么办?
万份感谢!!!

2006-01-03 17:23
vfpuse
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2005-9-9
得分:0 

fsize( ) 函数示例

下面的示例用 fsize( ) 函数返回 customer 表中两个字段的大小。

set compatible off

close databases

open database (home( ) + 'samples\data\testdata')

use customer && 打开 customer

clear

? fsize('contact') && 显示 30

? fsize('cust_id') && 显示 6

2006-01-04 08:55
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
得分:0 
以下是引用paciolio在2006-1-3 16:21:00的发言:

我在网上查到可以使用fsize()这个函数,但是我这样在命令窗口输入
use books  &&  books 是表的名称
?fsize(books)
系统提示找不到books这个变量,在程序中也是这样
   请教高手fsize()函数到底怎么用?
  如何知道表的总字段宽度?
  谢谢了!!!
use books alias books
? recsize("books") &&总字段宽度

----------------------------------------------------
recsize( ) 函数
示例 请参阅

返回表中记录的大小(宽度)。

语法

RECSIZE([nWorkArea | cTableAlias])

参数
nWorkArea

表所在的工作区编号。
如果指定工作区中没有表打开,RECCOUNT( ) 返回 0。

cTableAlias

指定非当前工作区中所打开表的别名。

返回值类型

数值型

说明

不带可选参数 nWorkArea 和 cTableAlias 发出 recsize( ) 函数,将返回当前选定工作区中表的记录大小。
2012-03-25 23:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-41456-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.402525 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved