数据库关闭的学问

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

数据库关闭的学问

自己学了VFP 快半年了 ,刚开始时候是不想学啊,因为很多人都认为VFP没有其前途了,其实老师的说应该是没有“钱图”了吧。后来学校里面开了这门课,而且有因为某中原因所以也就对VFP产生了兴趣啊。自己玩了一段时间 把自己的一点体会告诉大家。这里就是要讲到的就是数据库方面的。

我们都知道在设计时,如果某个项目被打开,那么我们用 close databases 命令关闭该项目的数据库时,并不能真正的关闭数据库,只是关闭了数据库中的所有表、视图和临时表。比如下面的语句将导致一个“文件正在使用的错误”:

set database to data1

close databases

use (sys(5)+sys(2003)+data1)

因此在设计时必须先关闭项目,才能真正关闭数据库。所以我们在运行时必须将这样的程序与主程序分开,单独建立一个app,在独立的环境中使用。这样才能达到要求。

上面的语句也许有的朋友会产生疑问,data1不是一个数据库吗?它应该用 open database mydata 这样的语句来打开啊?没错,但是,Vfp是一种非常灵活的语言,它甚至可以把数据库和表单当作一个表打开。

这样做有什么用呢?用处很多,比如我们用编程方式对表结构/索引作了修改,最后需要清理数据库才能使用修改后的结果,就可以用打开表的方式来打开数据库,然后执行Pack。用这样的方法,可以用编程方式取得数据库中有哪些表、参照完整性、表间的连接关系的详细信息。

同样,可以用打开表的方式打开表单。不过使用这种方法需要注意的是,必须使用完整的路径和文件名,比如

将会产生一个“找不到别名mydata”的错误,只有输入了完整的路径信息后:

use data1

use c:\我的项目\data\mydata.dbc

才能正确的用打开表的方式打开数据库

东西用多了也就感觉到一些东西的用法技巧了,希望大家可以有所收益。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有