1、vfp中controlsource,recordsource,rowsource分别什么意思?


答:controlsource属性用来确定一个对象所绑定的数据源;一个对象所绑定的表或者视图可以为任意类型,包括本地visualfoxpro表,具有controlsource属性的对象有:checkbox、column、combobox、commandgroup、editbox、listbox、oleboundcontrol、optionbutton、optiongroup、spinner和textbox控件。某些控件(listbox和combobox)除了controlsource属性之外,还有rowsource属性允许您一次显示多于一个字段和行。数据仍然是与单一的字段绑定的,这就是为什么这些控件需要controlsource属性。表格控件是唯一具有recordsource属性的控件,但是没有controlsource属性。对于表格控件,数据是与一个完整的记录绑定的。recordsource 属性指定与表格控制相绑定的主临时表



2、在VFP里SELE 是什么命令?


两个用法

第一种:选择工作区,用于同时在不同工作区打开多个表,比如:

选择5工作区:sele 5

选择最前面的闲置区:sele 0

定位已打开的表区:sele 别名


第二种:SQL语句同

比如读取数据库:sele * from 表 into dbf 新表


3、vfp里的local和locate有什么不同呢?


答:1在VFP中可用命令语句local,private和public指定变量的作用域,其指定的变量分别为局部变量,私有变量和全局变量.

用Local<变量名>命令可建立局部变量,其建立的变量或数组只能在定义它们的程序中存在,不能被更高层和更低层的程序访问.当定义它们的程序停止运行时,这些变量和数组将被释放.

例:Local x, y, z


loacal c as integer



2 Locate 是按条件定位记录位置的命令,常用命令格式是:

LOCATE FOR lExpression1 其中lExpression1是查询或定位的表达式

该命令执行后将记录指针定位在满足条件的第一条记录上,如果没有满足条件的记录则指向文件结束位置.



4、插入表记录



SELECT 工资表

BROWSE LAST

INSERT INTO 工资表 (员工编号,奖金,医疗保险,养老保险,事故保险,房屋补助,生活补助) VALUES ("ry001",36,65,98,45,59,69)



其中,金额都为货币型currency,日期date型为8位YYYYMMDD,DD/MM/YY


5、cursor 定义临时表


Select * from 网站信息表 where 编号==b into cursor 临时网站信息表



6、vfp 中RecordSourceType的取值 0- 表 和 1- 别名 别名的区别



使用别名需要先将表打开或者设置数据环境,

使用表则直接将表名设置为数据源就可以了,运行时自动打开相当的表

RecordSourceType的取值 0- 表,在设置RecordSource属性时可以带路径,如D:/XUE.DBF,而

RecordSourceType的取值 1- 别名,RecordSource属性只能是别名

打开表定义别名的格式为:USE 表名 ALIA 别名,如果不定义别名则默认别名就是表名


7、如何切换GRID1.recordsourcetype的属性从“1-别名”到“4-SQL”

thisform.grid1.RecordSource=Null 
thisform.grid1.recordsourcetype   =   4   
select   *   from   记录   where   alltrim(班次)   =   alltrim(thisform.text1.value)   into   cursor   tmp 
thisform.grid1.RecordSource= "tmp "

8、select

vfp中的select 命令是选择工作区的!


显示数据用List/browse。


9、vfp中用scan循环扫描表中满足条件的纪录,当找到记录时,指针指向该记录还是表尾?

VFP中SCAN-ENDSCAN结构的语句是通过(记录指针)控制循环次数 ,默认是从表的第一条记录开始逐条记录过滤一遍至最后一条记录结束.如果要控制循环其他条件的记录


10、et talk off/on和set safety off/on是什么意思?

SET TALK OFF的意思是 关闭程序运算的显示过程,SET TALK ON是开启显示程序的运算过程   对于这两个在VFP中间 是可有可无的   只是如果你做的是个比较大的程序的话 建议带上,小的就算了  大的程序运算过程太多 在VFP窗口界中间会显示她的整个运算过程,所以一般写程序都会先用 SET TALK OFF 把她关掉,这样便于观察也方便些,程序在运算的时候就不会显示运算过程了  程序写完以后 因为开始你把它关了 所以要用 ON 恢复系统默认的开启状态


11、str() 将数值型转化为字符型

str(数值,长度,小数位)

在VFP中 STR(1234.5678.3) 返回*** STR(1234.5678.2)返回**

那是因为你在STR函数中指定输出的字符长度小于数据整数部份的位数造成的。

数值1234.5678的整数部分是4位,如果STR函数中指定的整数位数小于4位,则返回相应指定位数的*号。如果str函数中指定的整数位数大于4位,则在前面加空格。


str(1234.5678,1)

返回*

str(1234.5678,2) 返回**

str(1234.5678,3) 返回***

str(1234.5678,4)

返回1235

str(1234.5678,5) 返回 1235

str(1234.5678,6) 返回 1235


12、VFP字符串替换函数CHRTRAN()使用方法

将一字符串中的某些字符替换为另一些字符。

语法

CHRTRAN

返值类型

字符型

参数描述


字符表达式1:字符串,其中的某些字符将被替换。

字符表达式2:确定字符表达式1中的哪些字符将被替换。

字符表达式3:用于替换的字符。


看了上面的内容后可能还是有点稀里糊涂,那就用一个例子来说明吧:

?CHRTRAN

显示结果是:XXBYDZF


即用“X”替换“AABCDEF”中的“A”,“Y”替换“C”,“Z”替换“E”。这下明白了吧:)


注重假如“字符表达式3”中的字符少于“字符表达式2”中的字符数,那么“字符表达式1”与“表达式2”中多余的字符相匹配的字符将被删除,怎么讲起来总象绕口令,还是看例子:


?CHRTRAN

显示结果是:XXBYDF,“E”被删掉,或者说“XY”中第3个字符是空字符,“E”被这个空字符替换了。


说明


另有一个函数CHRTRANC,主要用于双字节的字符,如字符串中有中文,最好使用这个函数。