在我講授數(shù)據(jù)庫(kù)應(yīng)用課程時(shí),當(dāng)上機(jī)課進(jìn)行數(shù)據(jù)庫(kù)表的操作過程中,學(xué)生常常會(huì)遇到這樣的問題,在數(shù)據(jù)庫(kù)中打開多個(gè)表時(shí),反復(fù)操作打開表,常常會(huì)出現(xiàn)表無法打開,并提示:“該表正在使用中”。這時(shí)候影響了同學(xué)的操作,那么出現(xiàn)這個(gè)問題的原因是什么呢?該問題怎么解決?在此,我進(jìn)行歸納總結(jié)一下。
實(shí)質(zhì)上,是因?yàn)閿?shù)據(jù)庫(kù)中有工作區(qū)。內(nèi)存中存放表的特定區(qū)域稱為工作區(qū),在每個(gè)工作區(qū)中只能打開一個(gè)表及其相關(guān)的索引。打開多個(gè)表時(shí),每次只能選中一個(gè)工作區(qū)進(jìn)行操作,這個(gè)被選中的工作區(qū)稱為當(dāng)前工作區(qū),該區(qū)中打開的表叫做當(dāng)前表,用戶可以隨時(shí)切換到某個(gè)工作區(qū)進(jìn)行操作。每個(gè)工作區(qū)都有自己的編號(hào),它們是1、2、3、…、32767。前10個(gè)工作區(qū)還有自己的名稱,分別是A、B、C、…、J。每次啟動(dòng)VFP以后,系統(tǒng)總是默認(rèn)1號(hào)工作區(qū)為當(dāng)前工作區(qū)。在一個(gè)工作區(qū)中打開一個(gè)表時(shí),可以為該表指定一個(gè)別名,該別名也成為該工作區(qū)的編號(hào)。所以我們?cè)诓僮鞫鄠(gè)表時(shí),可以進(jìn)行工作區(qū)的選擇及數(shù)據(jù)表的打開,如下所示:
格式:SELECT <工作區(qū)號(hào)> | <別名> | <區(qū)名>
功能:選擇指定的工作區(qū)為當(dāng)前工作區(qū)
說明:<別名>為在工作區(qū)打開的表的別名;
- 打開表時(shí)指定別名:USE 表文件名 ALIAS 別名
通過學(xué)習(xí)工作區(qū)的知識(shí),我們知道了一開始提出的問題是因?yàn)榉磸?fù)在同一個(gè)工作區(qū)打開多個(gè)表造成的,所以我們可以先用CLOSE ALL 命令關(guān)閉所有打開的表,在操作中一定要為每個(gè)表指定相應(yīng)的工作區(qū),指定工作區(qū)后,打開表時(shí)就不會(huì)出現(xiàn)沖突,問題就迎刃而解了。 |