1. visualfoxpro常用命令
VFP常用命令、函數、屬性、事件和方法
一.常用命令
1.CREATE TABLE-SQL
創建一個含有指定欄位的表。
2.ALTER TABLE-SQL
以編程方式修改表的結構。
3.SELECT
激活指定工作區。
4.USE
打開一個表及其相關索引文件,或打開一個SQL視圖。
5.CLOSE TABLES
關閉所有打開資料庫中的所有表。
6.COPY STRUCTURE
用當前選擇的表結構創建一個新的空自由表。
7.COPY TO
用當前選定表的內容創建新文件。
8.RENAME TABLE
重命名當前資料庫中的表。
9.BROWSE
打開瀏覽窗口。
10.APPEND
在表的末尾添加一個或多個新記錄。
11.APPEND FROM
從一個文件中讀入記錄,添加到當前表的尾部。
12.GO/GOTO
將記錄指針移到指定記錄上。
13.LOCATE
按順序搜索表,從而找到滿足指定邏輯表達式的第一個記錄。
14.SEEK
在一個表中搜索首次出現的一個記錄。
15.SKIP
使記錄指針在表中向前或向後移動。
16.CONTINUE
繼續執行先前的LOCATE命令。
17.EDIT
顯示要編輯的欄位。
18.DELETE
給要刪除的記錄做標記。
19.DELETE-SQL
給要刪除的記錄做標記。
20.PACK
從當前表中永久刪除有刪除標記的記錄。
21.RECALL
恢復所選表中帶刪除標記的記錄。
22.ZAP
從表中刪除所有記錄。
23.INSERT-SQL
在表尾追加一個包含指定欄位值的記錄。
24.REPLACE
更新表的記錄內容。
25.UPDATE-SQL
以新值更新表中的記錄。
26.SET EXCLUSIVE
指定Visual FoxPro在網路上是以獨占方式,還是以共享方式打開表文件。
27.SET FILTER
指定訪問當前表中記錄時必須滿足的條件。
28.SET DELETED
指定Visual FoxPro 是否處理標有刪除標記的記錄。
29.SET INDEX
打開一個或多個索引文件,供當前表使用。
30.SET ORDER
指定表的主控索引文件或標識。
31.GATHER
將當前選定表中的當前記錄的數據替換為某個數組、內存變數組或對象中的數據。
32.SCATTER
從當前記錄中把數據復制到一組內存變數或數組中。
33.OPEN DATABASE
打開一個資料庫。
34.SET DATABASE
指定當前資料庫。
35.DELETE DATABASE
從磁碟上刪除資料庫。
36.DISPLAY DATABASE
顯示有關當前資料庫的信息。
37.MODIFY DATABASE
打開資料庫設計器,讓用戶能夠交互地修改當前資料庫。
38.VALIDATE DATABASE
保證當前資料庫中表和索引位置的正確性。
39.SELECT-SQL
從一個表或多個表中檢索數據。
40.DO
執行一個Visual FoxPro 程序或過程。
41.DO FORM
運行用表單設計器創建的、編譯過的表單或表單集。
42.REPORT
根據MODIFY REPORT或CREATE REPORE創建的報表定義文件,顯示或列印報表。
43.CALCULATE
對表中的欄位或包含欄位的表達式進行財務和統計操作。
二.常用函數
1.ABS(數值表達式)
返回指定數值表達式的絕對值。
2.ALLTRIM(字元表達式)
刪除指定字元表達式的前後空格符,並且返回刪除空格符後的字元串。
3.ASC(字元表達式)
返回字元表達式中最左邊字元的ANSI值。
4.AT(字元串1,字元串2[,N])
返回字元串1在字元串2中出現的位置(N為第幾次出現,省略為1)。
5.*ATC(字元串1,字元串2[,N]
同AT(字元串1,字元串2[,N]),不區分字元的大小寫。
6.BETWEEN(表達式1,表達式2,表達式3)
當表達式1的值大於等於表達式2的值而小於等於表達式3的值時,返回.T.,否則返回.F.。
7.BOF([工作區號/別名])
返回指定工作區號/別名當前記錄是否在表頭(省略工作區號/別名為當前工作區)。
8.CHR(數字)
數字在0---255之間,根據指定的ASCII碼,返回其對應的字元。
9.CREATEOBJFCT(類名[,參數1,參數2,…])
從類定義或支持OLE的應用程序創建對象。
10.CTOD(字元表達式)
把字元表達式轉換成日期表達式。
11.DATE()
返回當前系統日期。
12.DATATIME()
返回當前系統日期和時間。
13.DAY(日期)
返回該日期是某月中的第幾天。
14.DBGETPROP(cName,cType,cProperty)
2. vfp寫出SQL查詢的命令
1、select * from s where 性別 like '女' AND 年齡<=20 order by 年齡 DESC
2、SELECT S.學號,S.姓名,C.課程名,SC.成績 FROM S
, SC , C WHERE s.學號 = sc.學號 and c.課程號 = sc.課程號
3、SELECT * TOP 5 FROM C order by 學分 DESC
4、insert into sc(學號,課程號,成績) values("0201","01103",80)
5、alter table s drop column 年齡
3. vfp運行查詢有哪幾種方式
vfp運行查詢有四種方式,具體包括:
1、用查詢設計器進行查詢;
2、用查詢命令進行查詢;
3、用瀏覽直接查詢;
4、用表單中控制項進行查詢。
Visual FoxPro源於美國Fox Software公司推出的資料庫產品FoxBase,在DOS上運行,與xBase系列相容。FoxPro原來是FoxBase的加強版,最高版本曾出過2.6。之後,Fox Software被微軟收購,加以發展, 使其可以在 Windows 上運行。
vfp的特點:
(1)提供多種可視化編程工具,最突出的是面向對象編程。
(2)在表的設計方面,增添了表的欄位和控制項直接結合的設置。
(3)除此之外,vfp具有一系列的新特色,如:
① 成功解決了計算機2000年的問題。
② 增強了 Internet 技術和 WWW 資料庫的設計。
③ ActiveX 和向導、生成器及控制項等集成化工具。
④ 新引入了網路圖象文件格式:gif 和 jpeg 。
4. vfp 不需要建立索引文件就可以直接查詢的命令
直接用DELETE命令
41、設表TXL.DBF中有20條記錄。在VFP命令窗口中執行以下使用索引並不能加快對表的查詢操作
僅供參考!
D
B
B
A
C
B
B…
5. vfp用什麼命令,可以查找任意一個磁碟里的,想要查找的程序
ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])
返回值
數值型
參數
ArrayName
指定數組名。如果數組不存在,Visual FoxPro 將自動創建此數組。如果數組存在,但其大小不足以包含所有信息,則 Visual FoxPro 自動增加數組大小,使得數組能容納所有信息。如果數組超過了所需大小,Visual FoxPro 將截掉多餘部分。如果數組存在,並且 ADIR( ) 函數由於沒找到匹配文件而返回 0,則數組保持不變。如果數組不存在,並且 ADIR( ) 函數返回零,則不創建數組。
下表說明了數組中每列的內容及其數據類型: 列數組內容數據類型
1文件名字元型
2文件大小數值型
3文件最後修改日期日期型
4文件最後修改時間字元型
5文件屬性字元型
數組的最後一列包含匹配文件的文件屬性。每個文件屬性值由一個字母表示,一個文件可有多個屬性。下表說明每個字母表示的文件屬性含義: 字母 屬性
A檔案文件 一 可讀寫
H隱藏文件
R只讀文件
S系統文件
D目錄或文件夾
cFileSkeleton
指定文件梗概,以便存儲滿足搜索條件的文件名或擴展名的文件信息。例如,條件可以是所有表、所有文本文件、所有文件名第一個字母為「A」的文件,等等。這些通配查詢在 cFileSkeleton 中可以包含通配符 * 和 ?。其中問號代表單個字元,星號代表任意字元串。在文件梗概中,可在任意位置使用任意個數的通配符。
可以指定驅動器和目錄名,程序將在此驅動器和目錄下搜索匹配文件。如果不指定驅動器和目錄名,將把當前目錄下的文件信息存入數組中。
cAttribute
指定在返回內容中包含子目錄或嵌套文件夾、隱藏或系統文件、或者卷名。
cAttribute 可以是 D、H 和 S 的任意組合。如果包含 D,除了返回匹配 cFileSkeleton 的文件名外,還將返回當前目錄的子目錄或當前文件夾的嵌套文件夾。如果包含 H,將返回與 cFileSkeleton 指定相匹配的隱藏文件信息。如果包含 S,將返回與 cFileSkeleton 指定通配文件名相匹配的系統文件信息。
如果 cFileSkeleton 為空字元串,僅返回子目錄或嵌套文件夾名、隱藏或系統文件。
cAttribute 參數中包含字元 V,將返回當前驅動器的卷名。如果 V 和 D、H 或 S 一起包含在數組中,則只返回卷名。卷名存入數組的第一個元素中,並截去數組的其餘部分。
nFlag
指定是否顯示規定的 DOS 文件名或實際區分大小寫。 nFlag描述
0(默認) 以大寫方式顯示完整的路徑名
1以原始的大小寫方式
2按 DOS 8+3 命名約定
備注
對於每一個文件,ADIR() 將文件名、大小、日期、時間和屬性信息存入數組。
示例
下面的示例使用 ADIR( ) 函數創建一個包含資料庫信息的數組,然後顯示這些資料庫名。
CLOSE DATABASES
SET DEFAULT TO (HOME(2) + 'Data')
gnDbcnumber = ADIR(gaDatabase, '*.DBC') && 創建一個數組
CLEAR
FOR nCount = 1 TO gnDbcnumber && 遍歷資料庫
? gaDatabase(nCount,1) && 顯示資料庫名
ENDFOR
SET PATH TO HOME() && 設置路徑到 Visual FoxPro 目錄
6. vfp中怎麼使用find,seek命令
一.find命令:
格式:find
字元串
說明:(1).該命令用於已建立索引且索引已打開的情況,執行該命令將使用索引文件查找與指定字元串相匹配的第一條記錄,並把指針指向該記錄。
(2).find僅是記錄定位,找到後把記錄指針指向該記錄,並不顯示該記錄的內容;要顯示該記錄的內容,可使用display命令。
(3).若指定字元串無前導空格,不必使用引號,否則應使用引號將包括前導空格在內的字元串括起來。若指定的字元串是變數,還需要使用宏替換函數。
(4).可通過found()和eof()兩個函數來測試查找情況。如查找成功,則兩個函數分別返回.t.和.f.;否則,found()返回.f.,eof()返回.t.。
例:use
工資情況
tag
xm
find
李四
?found(),eof()
&&能定位到「李四」,結果為.t.,.f.
display
&&顯示李四的記錄
二.seek命令:
格式:seek
表達式
說明:(1).seek比find的功能更強,可使用表達式給出關鍵值,查找與其匹配的第一條記錄。
(2).表達式的類型可為字元型、數值型、日期型和邏輯型;
(3).若表達式為字元常量必須用引號括起來,變數可直接引用而不需使用宏替換函數。
例:use
工資情況
tag
xm
seek
"王二"
&&此處的表達式為常量,所以使用雙引號括起來
display
&&顯示王二的記錄
a="小剛"
&&將常量值"小剛"賦給變數a
seek
a
&&表達式為變數時,不必使用雙引號
7. vfp命令查詢統計到另一個欄位
試試sql語句吧。
update table_b set x=select sum(...) from table_a
8. vf當中有哪些檢索記錄的命令,使用時有什麼要求
1)使用Locate命令,配合continue查找所有符合條件的記錄,適合編寫程序代碼,例
use <數據表>
locate for <查找條件> &&查找定位第一條符合條件的記錄
do while found()
display &&顯示或處理記錄
continue &&查找定位第2條……第n條記錄
enddo
use
2)使用Select 查詢命令,把符合條件的記錄生成一個記錄集,適合編寫程序代碼,例
select * from <數據表> where <查找條件> into cursor tempdb
&&按條件查找,生成一個臨時表
3)使用List或display命令,在VFP中顯示符合條件的記錄,適合於命令窗口輸入命令,不適合表單程序代碼的編寫,例
use <數據表>
list for <查找條件> &&顯示滿足條件的記錄,或者
display all for <查找條件>
4)設置Filter過濾器,把滿足條件的記錄保留,不符合條件的記錄隱藏,適合編寫程序代碼,例
use <數據表>
set filter to <查找條件>
9. 在vfp中如何用函數命令來查詢
sele 考生號,姓名,院校代碼,專業代碼,總分 from 院校 where 院校代碼="22" and 專業代碼="54" into table zyx
*****************
sele 考生號,姓名,院校代碼,專業代碼,總分 from 院校 where 院校代碼="22" and 專業代碼="54" and 總分>=60 into table zyx