|
发表于 16-8-2004 04:12 PM
|
显示全部楼层
weisely 于 15-8-2004 11:34 PM 说 :
小弟最近真的是于到一个 "疑难杂症"
小弟在数据库中输入中文资料, 过后发现不论是在用index或用SQL select 的 ORDER 来排列中文资料时, 资料的显示都是用汉语拼音来排列的, 比如 :
阿干正传
病毒
...
我以前試過, 如果資料是大五碼,就根據筆劃,
如果資料是 GB 就根據漢語拼音 |
|
|
|
|
|
|
|
发表于 16-8-2004 04:16 PM
|
显示全部楼层
小李波特 于 16-8-2004 10:03 AM 说 :
在 multi user 的环境下,你们是如何让系统自动 pack 掉已被删除的资料 ???
我的做法是, 用回所刪除的資料空間.環保
在下一筆加入的時候,把刪除的資料空間RECALL
但這不適用於 SQL INSERT, |
|
|
|
|
|
|
|
发表于 16-8-2004 10:44 PM
|
显示全部楼层
小李波特 于 16-8-2004 10:03 AM 说 :
在 multi user 的环境下,你们是如何让系统自动 pack 掉已被删除的资料 ???
可以写以下的指令
当要USE DATBASE时,可以先测试一下这个DATABASE是否有其他USER用着,如果有就,USE EMPLOYEE ,如果没有就 USE EMPLOYEE EXCL 然后先PACK了它在 USE 回 EMPLOYEE.
这样不就可以只要一有机会它就会自动的PACK.
我个人认为,如果是较大型的程式还是用会传统的方法,因为万一有什么是还可以RECOVER回去.个人认为,这是FOXPRO的优点之一. |
|
|
|
|
|
|
|
发表于 16-8-2004 10:49 PM
|
显示全部楼层
GoodMorning 于 16-8-2004 04:16 PM 说 :
我的做法是, 用回所刪除的資料空間.環保
在下一筆加入的時候,把刪除的資料空間RECALL
但這不適用於 SQL INSERT,
这个方法个人认为好像有点怪怪的,为什么要这么麻烦呢?可以说说它的好处吗? |
|
|
|
|
|
|
|
发表于 16-8-2004 10:51 PM
|
显示全部楼层
白日梦 于 16-8-2004 09:44 AM 说 :
加 stroke 的资料栏,列出所有中文的有多少笔划,
阿 8
病 10
∶
index on stroke ...
要如何让电脑知道你的笔画是多少? |
|
|
|
|
|
|
|
发表于 17-8-2004 08:58 AM
|
显示全部楼层
itgenius 于 16-8-2004 10:51 PM 说 :
要如何让电脑知道你的笔画是多少?
很大的工程,另加一个 table 记录。
常用中文字有3千字左右。 |
|
|
|
|
|
|
|
发表于 17-8-2004 09:05 AM
|
显示全部楼层
itgenius 于 16-8-2004 10:44 PM 说 :
可以写以下的指令
当要USE DATBASE时,可以先测试一下这个DATABASE是否有其他USER用着,如果有就,USE EMPLOYEE ,如果没有就 USE EMPLOYEE EXCL 然后先PACK了它在 USE 回 EMPLOYEE.
这样不就可以只要一有机会它 ...
用什么指令测试? |
|
|
|
|
|
|
|
发表于 17-8-2004 10:44 AM
|
显示全部楼层
白日梦 于 16-8-2004 14:03 说 :
没做过自动的,做了reindex的module。
使用者需要时才做,整年不做也没所谓,不管它。
你要做自动的,先做 date trigger,比如当你启动这系统时每个星期一自动打包已删除的资料。
[ Last edited by 白日 ...
我现在是用这个方法,只是在 primary key 时常常中招。。
所以只好另求他法。。
做 date trigger 的话,是怕刚好有人正在用着 table.. |
|
|
|
|
|
|
|
发表于 17-8-2004 10:46 AM
|
显示全部楼层
GoodMorning 于 16-8-2004 16:16 说 :
我的做法是, 用回所刪除的資料空間.環保
在下一筆加入的時候,把刪除的資料空間RECALL
但這不適用於 SQL INSERT,
还是第一次听说有人用这种方法来节省空间,不明白何苦如此麻烦。。
不过我都是用 sql command 的。。 |
|
|
|
|
|
|
|
发表于 17-8-2004 10:51 AM
|
显示全部楼层
有没有看到 itgenius 的建议?
Clipper 是用 NetErr() 来 detect 有没有别的 使用者 用着。
可是 VFP 我找不到类似的指令或函数。 |
|
|
|
|
|
|
|
发表于 17-8-2004 10:53 AM
|
显示全部楼层
itgenius 于 16-8-2004 22:44 说 :
可以写以下的指令
当要USE DATBASE时,可以先测试一下这个DATABASE是否有其他USER用着,如果有就,USE EMPLOYEE ,如果没有就 USE EMPLOYEE EXCL 然后先PACK了它在 USE 回 EMPLOYEE.
这样不就可以只要一有机会它就会自动的PACK.
我个人认为,如果是较大型的程式还是用会传统的方法,因为万一有什么是还可以RECOVER回去.个人认为,这是FOXPRO的优点之一.
IF !USED(laTables)
USE (laTables) IN 0 EXCL
SELECT (laTables)
PACK
REINDEX
ENDIF
这个方法不能测出 table 是否被其他使用者正用着,
当 table 在开着的时候,并不是 exclusive mode, 所以 isexclusive() 不能用。。
可有其他方法? |
|
|
|
|
|
|
|
发表于 17-8-2004 12:30 PM
|
显示全部楼层
在一个 PROJECT 里有两个 database,DBF1 和 DBF2 。DBF1 是 current 的 data, DBF2 是 old data。我在 DBF1 里 SET FILTER ,选出 data 后,想把它 move 到 DBF2 里。请问 MOVE 的 command 应该怎样写? |
|
|
|
|
|
|
|
发表于 17-8-2004 02:21 PM
|
显示全部楼层
小李波特 于 17-8-2004 10:53 AM 说 :
IF !USED(laTables)
USE (laTables) IN 0 EXCL
SELECT (laTables)
PACK
REINDEX
ENDIF
这个方法不能测出 table 是否被其他使用者正用着,
当 table 在开 ...
只在分享,測出其他使用者正用着
如果其他使用者不是 excl. , 那麼你可以用 set excl on,再開啟資料檔, onerror 如果該檔有其他使用者. |
|
|
|
|
|
|
|
发表于 17-8-2004 02:22 PM
|
显示全部楼层
itgenius 于 16-8-2004 10:49 PM 说 :
这个方法个人认为好像有点怪怪的,为什么要这么麻烦呢?可以说说它的好处吗?
資料檔不須要 pack |
|
|
|
|
|
|
|
发表于 17-8-2004 02:26 PM
|
显示全部楼层
tstan135 于 17-8-2004 12:30 PM 说 :
在一个 PROJECT 里有两个 database,DBF1 和 DBF2 。DBF1 是 current 的 data, DBF2 是 old data。我在 DBF1 里 SET FILTER ,选出 data 后,想把它 move 到 DBF2 里。请问 MOVE 的 command 应该怎样写?
COPY 后 delete 原有的資料 稱之為 move 吧 |
|
|
|
|
|
|
|
发表于 17-8-2004 07:58 PM
|
显示全部楼层
小李波特 于 17-8-2004 10:53 AM 说 :
IF !USED(laTables)
USE (laTables) IN 0 EXCL
SELECT (laTables)
PACK
REINDEX
ENDIF
这个方法不能测出 table 是否被其他使用者正用着,
当 table 在开 ...
方法有很多种,以下是我经常用的方法,
err = .f.
on error err = .t.
use employee excl
if err
? "其他使用者正用着"
use employee
else
? "Do Packing"
use employee
endif
on error
[ Last edited by itgenius on 17-8-2004 at 08:04 PM ] |
|
|
|
|
|
|
|
发表于 17-8-2004 08:02 PM
|
显示全部楼层
GoodMorning 于 17-8-2004 02:22 PM 说 :
資料檔不須要 pack
个人认为,做PACK这个动作也不难,凡而RECALL还难写过PACK.而且万一USER不小心DELETE,还有机会RECALL回来. |
|
|
|
|
|
|
|
发表于 17-8-2004 08:07 PM
|
显示全部楼层
tstan135 于 17-8-2004 12:30 PM 说 :
在一个 PROJECT 里有两个 database,DBF1 和 DBF2 。DBF1 是 current 的 data, DBF2 是 old data。我在 DBF1 里 SET FILTER ,选出 data 后,想把它 move 到 DBF2 里。请问 MOVE 的 command 应该怎样写?
select dbf2
append from dbf1 for (filter condition)
select dbf1
delete for (filter condition) |
|
|
|
|
|
|
|
发表于 19-8-2004 03:38 AM
|
显示全部楼层
在一个 FORM 里是 GRID BOX,我想让它在每次在增加或修改里面的 DATA 时自动算出总 TOTAL AMOUNT。但不能在 GRID 里用 VALID,请问应该怎样做?由于我的 DATABASE 里没有 TOTAL 的 FIELD,只想在 TABLE 里显示 TOTAL 而已,所以应该怎样做?用什么 CONTROL BOX 来让它显示?
[ Last edited by tstan135 on 19-8-2004 at 08:59 AM ] |
|
|
|
|
|
|
|
发表于 19-8-2004 07:54 AM
|
显示全部楼层
你是用 VFP6 吧,有没有 refer 随装护送的 msdn 2000 jan, 那里有个 Solution.pjx 的 sample, 你应该尝试去 figure out your own from those sets of samples included in msdn.
因为我发觉你常问的问题在 Solution 这个 project 里都能找得到。
如果你并没有这个 msdn sample, 那就 去这个 URL Download 吧,我特地 Zip and upload 给你。http://www.geocities.com/vbcatcher/Solution.zip
(不用谢我,我较喜欢看 白日梦 和 小李波特 或其他 VFP 老前辈们回答较深度的问题,哈哈,开玩笑...)
VFP 常参网址 如下:
the text underneath of the grid colum allow you to place Expression, so you may simply write your total expression inside there, key properties is "ControlSource"
See figure :-
/ps: 我用的 graphics 太大了,镶不进这里,欲窥全图,去这里
http://img.photobucket.com/albums/v480/DHS/sample01.jpg
[ Last edited by dark_heaven on 28-9-2004 at 11:09 PM ] |
|
|
|
|
|
|
| |
本周最热论坛帖子
|