
4.1 Visual FoxPro数据库及其建立
1.基本概念
在Visual FoxPro中数据库可以说是一个逻辑上的概念和手段,它通过一组系统文件将相互关联的数据库表及其相的数据库对象统一进行组织和管理。
在建立数据库时,数据库的扩展名为.dbc,与之相关的还会自动建立一个扩展名为.dct的数据库备注文件和一个扩展名为.dcx的数据库索引文件。即数据库建立成功后用户可以在磁盘上看到文件名相同但扩展名分别为.dbc、.dct、.dcx的3个文件。
在Visual FoxPro中把.dbf数据库文件称作数据库表,简称表。
2.建立数据库
常用的建立的数据库有3种,一是在项目管理器中建立数据库,二是用菜单方式创建数据库,三是用命令交互建立数据库。
(1)在项目管理器中建立数据库
在项目管理器中建立数据库的界面如图4-1所示,首先选择数据库,然后单击“新建”按钮建立数据库,在出现的界面提示中输入数据库的名称,如输入“学生”并单击“保存”按钮。
(2)用菜单方式建立数据库
单击“文件”→“新建”命令,弹出如图4-2所示的对话框,首先在“文件类型”中选择“数据库”,然后单击“新建文件”按钮建立数据库。
此种方法可以创建一个不属于哪个项目文件的独立的数据库。如果需要的话,可以在项目管理器中将本项目以外的数据库添加到本项目文件中,从而使数据库属于本项目。

图4-1 在项目管理器中建立数据库

图4-2 “新建”对话框
(3)用命令交互建立数据库
格式:
CREATE DATABASE [<数据库文件名>|?]
说明:
如果不指定数据库的名称或使用问号都会弹出对话框请用户输入数据库的名称。若省略扩展名,则默认为.dbc。
例如,创建名为“学生”的数据库:
create database学生 &&建立名为“学生”的数据库
刚建立的数据库只是定义了一个空数据库,里面没有数据也不能输入数据,还需要建立数据库表和其他数据库对象,然后才能输入数据和实施其他数据库操作。
3.使用数据库
常用的打开数据库的方式有3种。
(1)用菜单方式打开数据库
单击“文件”→“打开”命令,弹出“打开”对话框,在对话框中确定文件类型为“数据库(*.dbc)”,如图4-3所示。
注意:在“打开”对话框中,如果选中“独占打开”复选框,表示以独占方式打开数据库,即不允许其他用户同时使用该数据库;如果选中“以只读方式打开”复选框,表示不允许对数据库进行修改。系统默认设置为“独占打开”。
(2)用项目管理器打开数据库
单击“文件”→“打开”命令或单击常用工具栏上的“打开”按钮,弹出“打开”的对话框,选择已经建立的项目文件并单击“确定”按钮,在打开的“项目管理器”窗口中选中已经建立的数据库文件名,最后单击“修改”按钮,即打开数据库设计器。

图4-3 “打开”对话框
(3)用命令方式打开数据库
格式:
OPEN DATABASE [<数据库文件名> | ?] [EXCLUSIVE][SHARED][NOUPDATE]
说明:
①EXCLUSIVE表示以独占的方式打开。
②SHARE表达以共享的方式打开。
③NOUPDAE表示以只读的方式打开。
例如,打开“学生”数据库的命令是:
OPEN DATABASE 学生
4.修改数据库
在Visual FoxPro中修改数据库实际是打开数据库设计器,可以在数据库设计器中完成各种数据库对象的建立、修改和删除等操作。数据库设计器是交互修改数据库对象的界面和向导,其中将显示数据库中包含的全部表、视图和联系。可用以下3种方法打开数据库设计器:
(1)用菜单方式打开数据库设计器
单击“文件”→“打开”命令、弹出“打开”对话框,选择数据库名,单击“确定”按钮即可打开数据库设计器。
(2)从项目管理器中打开数据库设计器
在项目管理器中选择“数据”选项卡,首先展开数据库分支,接着选择要修改的数据库,最后单击“修改”按钮打开相应的数据库及数据库设计器。
(3)用命令方式打开数据库设计器
格式:
MODIFY DATABASE数据库名[NOWAIT][NOEDIT]
说明:
NOWAIT:该参数只在程序中使用(在交互使用的命令窗口中无效)。
NOEDIT:使用该参数只是打开数据库,而禁止对数据库进行修改。
注意:使用该命令打开时,如果数据库已经存在则直接打开设计器,如果数据库不存在则创建的同时打开数据库设计器。
例如,打开“学生”数据库和数据库设计器的命令是:
Modify database 学生
5.删除数据库

图4-4 删除数据库提示框
删除数据库有以下两种方法:
(1)用项目管理器删除数据库
在项目管理器中选择要删除的数据库,然后单击“移去”按钮,弹出如图4-4所示的对话框,其中有3个按钮可供选择。
①移去:从项目管理器中删除数据库,但并不从磁盘上删除相应的数据库文件。
②删除:从项目管理器中删除数据库,并从磁盘上删除相应的数据库文件。
③取消:取消当前的操作,即不进行删除数据库的操作。
(2)用命令方式删除数据库
格式:
DELETED ATABASE [盘符文件夹路径] [<数据库文件名> | ?] [DELETETABLES][RECYCLE]
说明:
如果使用“?”代替数据库文件名,将显示“打开”对话框,用户可以选择要删除的数据库文件。
DELETEDATABASES:删除数据库文件的同时从磁盘上删除该数据库所含的表文件等。
RECYCLE:将删除的数据库文件和表文件等放入Windows的回收站中。
例如,将“学生”数据库删除的命令是:
Delete database学生
注意:所删除的数据库必须是关闭的,被删除的数据库的表将成为自由表。可以使用close database命令将当前数据库关闭。
6.关闭数据库
关闭数据库可以采用以下两种方法:
(1)单击数据库设计器右上角的“关闭”按钮或者关闭数据库窗口。
(2)使用命令方式关闭数据库
格式:
CLOSE [ALL|DATABASE ]
说明:
其中ALL用于关闭所有打开的数据库及数据库中的表、自由表、索引等。
例如,用命令创建名为“student2015”的数据库文件,然后将其打开并启动数据库设计器,最后再关闭。
在命令窗口输入并执行下列命令即可:
CREATE DATABASE student2015 &&创建数据库
OPEN DATABASE student2015 &&打开数据库
MODIFY DATABASE &&打开数据库设计器
CLOSE DATABASES &&关闭数据库