VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

用SQL语句打开的表,如何关闭?

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
ftcbds
訪客






第 1 樓

發表發表於: 星期日 十二月 12, 2004 2:17 pm    文章主題: 用SQL语句打开的表,如何关闭? 引言回覆

我用下列语句:

SELECT * FROM MyTabName

在VFP中正确地显示了表 MyTabName 的内容。可是表 MyTabName 却无法关闭了,因此无法用 USE 语句打开表 MyTabName 。
回頂端
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 2 樓

發表發表於: 星期日 十二月 12, 2004 10:17 pm    文章主題: 引言回覆

SELECT * FROM MyTabName 之後,MyTabName 處於被開啟狀態,若要關閉它

USE IN MyTabName

若要於它處使用它

SELECT MyTabName 就可以用它了,所以你幹嘛還要 USE 它呢

若你真的還要 USE 它(在它未被關閉情況下),那就

USE MyTabName ALIAS OtherAliasName AGAIN

其中 OtherAliasName 是你任意取的別名,但絕不能用 MyTabName

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
ftcbds
訪客






第 3 樓

發表發表於: 星期六 十二月 25, 2004 1:41 pm    文章主題: 引言回覆

朱育興:

我当初的原意是:当表 MyTabName 被

USE MyTabName

命令打开并完成了所需要的操作后,可用

USE

命令关闭它,然后在程序的其他地方又可用 USE 语句再次打开表 MyTabName 进行其他操作。

但如果表 MyTabName 是被 SELECT 查询语句打开的,在完成了所需要的操作后,我就不知道如何关闭表 MyTabName 了。如果在程序的其他地方又需要用 USE 语句打开表 MyTabName ,此时执行

USE MyTabName

命令,VFP 会显示“文件正在使用”的出错提示。

老兄的回帖解答了我的所有问题。在此向你表示诚挚的感谢。并祝老兄圣诞及新年快乐!
回頂端
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 4 樓

發表發表於: 星期六 十二月 25, 2004 7:12 pm    文章主題: 引言回覆

原來你的困擾在此啊,說真的,這個 SQL - SELECT 還真賤:

SELECT * FROM MyTabName ...

MyTabName 只是要引用的資料,我之前沒開,它偏偏多管閒事就把 MyTabName 自動開啟了;這樣也就罷了,等此命令完成後,它偏偏不把它給關掉(如果之前未開啟的話)。這就是我罵它賤的地方,我的觀念是,自己開的就得自己負責關掉它。

不過 SQL - SELECT 就要這樣,拿它也沒辦法;只好自己變通一下:

M_lUsed = USED("MyTabName") && 在 SELECT 之前記錄 MyTabName 是否開啟

SELECT * FROM MyTabName ...

IF !M_lUsed && SELECT 之前若未開啟 MyTabName,那就關掉它吧
USE IN MyTabName
ENDIF

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
syntech



註冊時間: 2003-05-16
文章: 4249
來自: Taipei,Taiwan

第 5 樓

發表發表於: 星期日 十二月 26, 2004 11:35 am    文章主題: 引言回覆

我的習慣都事先 use ,
然後再 select 剛剛 use 的 table,
不用了再關掉.
所以沒有遇到這樣的問題!

養成"節約能源","進來隨手開燈,離開隨手關燈"的好習慣

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
ftcbds
訪客






第 6 樓

發表發表於: 星期日 十二月 26, 2004 7:30 pm    文章主題: 引言回覆

我的体会,希望与二位老师共同探讨:

假设表名为:MyTabName.DBF
在VFP命令窗口中,依次执行:

use MyTabName
sele * from MyTabName
use
use MyTabName


VFP依然会显示“文件正在使用”的出错提示。


经过反复测试,我好象得出这样一个结论(我目前使用的版本是VFP6.0):用SQL-SELECT打开的表,必须用两条USE型的关闭命令(顺序可以不分先后顺序)才能彻底关闭:

sele * from MyTabName &&执行 SQL 查询
use in MyTabName && 用 in 子句关闭被 SQL 语句打开的表
use && 关闭 SQL 形成的查询表
use MyTabName && 这样,就可以再次打开表了。


最后一条命令use MyTabName会正确执行,不会
显示“文件正在使用”的出错信息。
看来是use in MyTabName命令起了关键作用






    回頂端
    朱育興



    註冊時間: 2003-08-25
    文章: 661
    來自: 台中市大里區

    第 7 樓

    發表發表於: 星期日 十二月 26, 2004 10:12 pm    文章主題: 引言回覆

    USE TableName ...,若其中不含有 IN 子句時,它會在目前工作區開啟此 TableName,若在開啟之時,目前工作區若已有 Table,則此 Table 會被關閉

    若只下 USE 這個單一命令時,它是指要關閉目前工作區的 Table

    我的習慣是若要開啟 Table:

    SELECT 0
    USE TableName ...

    要關閉某個 Table 時:(假設是 CloseTable)

    US IN CloseTable


    這樣子比較清楚要開什麼或要關什麼;否則容易發生要開的開不了、開了卻不小心關了別的、關了不該關的

    _________________
    希望有更多人來參與
    VFP wiki - 需要大家一起完成的VFP電子書與FAQ
    回頂端
    檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
    syntech



    註冊時間: 2003-05-16
    文章: 4249
    來自: Taipei,Taiwan

    第 8 樓

    發表發表於: 星期日 十二月 26, 2004 11:05 pm    文章主題: 引言回覆

    我的習慣是寫的清清楚楚的
    用的時候
    use table1 alias alias1
    select * from alias1 into cursor cursor1
    select cursor1
    use in cursor1
    use in alias1

    絕對不用 use , use in 0 這類不知道對象是誰的用法.

    這就叫做 "進來隨手開燈,離開隨手關燈"

    _________________
    如果公司有下列困擾:
    1. 找不到便宜,快速,簡易的 生產排程軟體
    2. 不知道如何快速排定 採購計劃
    3. 成本抓不準,自己算比軟體算有用
    4. 想學習系統規劃,想找系統架構的顧問

    請聯絡我們,也許我們幫得上忙
    回頂端
    檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
    從之前的文章開始顯示:   
    發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
    1頁(共1頁)

     
    前往:  
    無法 在這個版面發表文章
    無法 在這個版面回覆文章
    無法 在這個版面編輯文章
    無法 在這個版面刪除文章
    無法 在這個版面進行投票
    無法 在這個版面附加檔案
    無法 在這個版面下載檔案


    Powered by phpBB © 2001, 2005 phpBB Group
    正體中文語系由 phpbb-tw 維護製作