資料庫關閉的學問 (轉)

worldblog發表於2007-08-16
資料庫關閉的學問 (轉)[@more@]

  關閉的學問

  自己學了VFP 快半年了 ,剛開始時候是不想學啊,因為很多人都認為VFP沒有其前途了,其實老師的說應該是沒有“錢圖”了吧。後來學校裡面開了這門課,而且有因為某中原因所以也就對VFP產生了興趣啊。自己玩了一段時間 把自己的一點體會告訴大家。這裡就是要講到的就是資料庫方面的。

  我們都知道在設計時,如果某個專案被開啟,那麼我們用 close databases 命令關閉該專案的資料庫時,並不能真正的關閉資料庫,只是關閉了資料庫中的所有表、檢視和臨時表。比如下面的語句將導致一個“正在使用的錯誤”:

set database to data1
close databases

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

因此在設計時必須先關閉專案,才能真正關閉資料庫。所以我們在執行時必須將這樣的與主程式分開,單獨建立一個app,在獨立的環境中使用。這樣才能達到要求。

上面的語句也許有的朋友會產生疑問,data1不是一個資料庫嗎?它應該用 open database mydata 這樣的語句來開啟啊?沒錯,但是,Vfp是一種非常靈活的語言,它甚至可以把資料庫和表單當作一個表開啟。

這樣做有什麼用呢?用處很多,比如我們用方式對錶結構/作了修改,最後需要清理資料庫才能使用修改後的結果,就可以用開啟表的方式來開啟資料庫,然後Pack。用這樣的方法,可以用程式設計方式取得資料庫中有哪些表、參照完整性、表間的連線關係的詳細資訊。

同樣,可以用開啟表的方式開啟表單。不過使用這種方法需要注意的是,必須使用完整的路徑和檔名,比如
將會產生一個“找不到別名mydata”的錯誤,只有輸入了完整的路徑資訊後:

use data1


use c:我的專案datamydata.c

才能正確的用開啟表的方式開啟資料庫

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

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-960940/,如需轉載,請註明出處,否則將追究法律責任。

相關文章