涓篋elphi鎻愪緵Pack鍜孶ndelete鍔熻兘
鍙戝竷: 2008-6-26 20:19 | 浣滆: admin | 鏌ョ湅: 13娆
涓篋elphi鎻愪緵Pack鍜孶ndelete鍔熻兘
鏈枃閽堝Delphi3鍜孌elphi4,瀵逛簬C锛嬶紜Builder鍚屾牱涔熼傜敤锛屽湪鏁版嵁搴撳紩鎿嶣DE4.0銆4.5銆5.0涓粡杩囨祴璇曘
Delphi鐩墠宸茬粡鏄浗鍐呭父瑙佺殑鏁版嵁搴撶紪绋嬪伐鍏凤紝瀹冨湪鍚勬柟闈㈣〃鐜颁笉閿欙紝鍦ㄦ敮鎸佸ぇ鍨嬪灞傛暟鎹簱缁撴瀯鐨勫悓鏃朵篃瀹屽叏鏀寔鏈湴鏁版嵁搴撶殑鏀寔銆傚浜庢湰鍦版暟鎹簱涓璂elphi瀵笷oxPro2.5b鐨勬敮鎸佷篃涓嶉敊锛屾垜鏇剧粡瀵筕B銆丗oxPro2.5b銆丏elphi鐨勬暟鎹簱鎿嶄綔閫熷害杩涜姣旇緝锛屽彂鐜伴櫎浜嗗惎鍔ㄩ熷害杈冩參澶栵紝鍏跺畠鍚勯」Delphi鍧囨帓鍦ㄩ浣嶃傝屼笖Delphi鍑犱箮鏀寔鎵鏈夊師鍏團oxPro鎵鎷ユ湁鐨勫姛鑳斤紝瀵逛簬鏈変竴瀹氱紪绋嬬粡楠岀殑浜烘潵璇达紝Delphi鎴愪簡缂栧啓鏁版嵁搴撹蒋浠剁殑涓鎶婂埄鍣紝鍥犺孌elphi杩呴熸祦琛岃捣鏉ワ紝鎴戝嚑骞村墠鐢氳嚦鍒╃敤Delphi 1.0鍜屾眹缂栭厤鍚堝埗浣滀簡宸ヤ笟鎺у埗绯荤粺鐨勫疄鏃跺墠鍚庡彴杞欢銆
浣嗘槸鍦ㄦ垜闀挎湡浣跨敤Delphi缂栫▼鐨勮繃绋嬩腑鍙戠幇瀹冧篃鏈変笉濡備汉鎰忕殑鍦版柟锛岀壒鍒槸鍦ㄦ湰鍦版暟鎹簱FoxPro鏂归潰锛屽畠灞呯劧涓嶆敮鎸佸崄鍒嗘湁鐢ㄧ殑Pack鍜孶ndelete鍔熻兘銆傚浜庢暟鎹簱鏉ヨ锛屽洜涓烘槸涓涓『搴忓瓨鍌ㄦ枃浠讹紝鍦ㄥ垹闄ら儴鍒嗚褰曟槸涓鑸噰鐢ㄤ簡杞垹闄ゆ妧鏈紝涔熷氨鏄灏嗚鍒犻櫎鐨勮褰曟爣璁板凡鍒犻櫎鐨勬爣璁帮紝浣嗗苟涓嶇珛鍗充粠鐗╃悊涓婂垹闄よ繖浜涜褰曘傝繖鏍峰仛鍙互閬垮厤浠呬粎鍒犻櫎涓鏉¤褰曞氨瑕佸皢鏁翠釜鏁版嵁搴撻噸鏂板啓鍏ュ瓨鍌ㄥ櫒锛屾彁楂樹簡璇诲啓鐨勬晥鐜囥備絾鏄鏋滄暟鎹簱闀挎湡涓嶅宸茬粡琚爣璁颁负鍒犻櫎鐨勮褰曡繘琛屾暣鐞嗗拰鐪熷疄鍒犻櫎锛屾暟鎹簱灏变細瓒婃潵瓒婂ぇ锛屽叾涓棤鐢ㄧ殑鏁版嵁鎵鍗犵殑姣旂巼瓒婃潵瓒婂ぇ锛屼娇寰楁暟鎹簱鐨勮鍐欐晥鐜囪繀閫熶笅闄嶏紝鑰屼笖閫犳垚鏌ヨ閫熷害鐨勫噺鎱€傚湪缂栧啓FoxPro鏁版嵁搴撴椂鏈変釜瑙勫緥锛屽鏋滄暟鎹繘鍑烘暟鎹簱棰戠箒锛屼篃灏辨槸璇翠笉鏂垹闄ゆ棫鐨勬暟鎹紝鍔犲叆鏂扮殑鏁版嵁鐨勬儏鍐典笅姣忔鍦ㄥ叧闂暟鎹簱鐨勬椂鍊欐垨鎵撳紑鏁版嵁搴撶殑鏃跺欏厛鍋氫竴娆ack锛屽鏁版嵁搴撹繘琛屾暣鐞嗭紝灏嗚蒋鍒犻櫎鐨勮褰曠湡姝d粠鏁版嵁搴撲腑鍒犻櫎銆備絾鏄湪Delphi鐨勫悇涓増鏈腑鏁版嵁搴撴帶浠跺潎鏈彁渚汸ack鐨勫姛鑳斤紝杩欎娇寰楃敤Delphi缂栧啓鐨勬暟鎹簱杞欢濡傛灉浣跨敤鏈湴鏁版嵁搴撶殑褰㈠紡锛屾暟鎹簱鐨勫ぇ灏忓闀垮緢蹇紝鍗充娇鍒犻櫎浜嗗ぇ閲忚褰曪紝鏁版嵁搴撶殑澶у皬娌℃湁浠讳綍鏀瑰彉銆備互鍓嶆垜鐨勫仛娉曟槸鍦ㄤ娇鐢ㄨ繖绫绘暟鎹簱杞欢涓娈垫椂闂村悗鍒╃敤FoxPro鎵撳紑鏁版嵁搴撹繘琛孭ack,浣嗘槸杩欐牱鍋氳姹傚鎴风鎷ユ湁FoxPro锛岃屼笖缁忓父杩欎箞鍋氫篃寰堢箒銆備簬鏄垜寮濮嬫煡鎵炬湁鍏宠祫鏂欙紝涓轰粈涔圖elphi鏃犳硶浣跨敤pack鍔熻兘锛
缁忚繃鍐嶄笁鏌ユ壘锛屾垜鎵惧埌涓浜涜祫鏂欙紝璇存槑濡備綍瀵规暟鎹簱杩涜pack浜嗭紝鍦ㄥ皢鍏舵敼缂栧悗鍦―elphi涓娇鐢ㄩ氳繃銆備笅闈㈡槸鍏朵腑鐨勬牳蹇冪▼搴忋
BDE API Call:
DBIResult DBIFN
DbiPackTable (hDb, hCursor, pszTableName, [
pszDriverType],
bRegenIdxs);
鍦ㄦ暟鎹簱寮曟搸鐨勫簳灞傚嚱鏁拌皟鐢ㄤ腑锛屾垜鎵惧埌浜嗚繖涓嚱鏁帮紝杩欎釜鍑芥暟鎹鍙互瀵笷oxPro鐨勬暟鎹簱杩涜Pack,鍏朵腑hDb鏄暟鎹簱鐨勫彞鏌勶紝鍙互鐢盩able.Handle鑾峰緱锛沨Cursor鏄暟鎹〃锛圱able锛夊叧鑱旂殑娓告爣锛屽鏋滀负NULL鍒欐暟鎹〃渚濊禆浜巔szTableName鍜宲szDriverType杩欎袱涓紶杈撳喅瀹氭暟鎹簱鐨勬潵婧愶紱bRegenIdxs鍐冲畾鏄惁鍏宠仈澶栨帴鐨勭储寮曟枃浠跺挨鍏舵槸MDX澶氱储寮曟枃浠躲
鍏蜂綋鐨勬搷浣滃嚱鏁板涓嬶細
procedure
PackTable(Table: TTable);
var
Props: CURProps;
hDb: hDBIDb;
begin
if not Table.Active
then
raise
EDatabaseError.Create('Table蹇呴渶宸茬粡鎵撳紑');
if not
Table.Exclusive then
raise
EDatabaseError.Create('Table蹇呴渶浠ョ嫭鍗犳柟寮忔墦寮');
Check(DbiGetCursorProps(Table.Handle,
Props));
if
(Props.szTableType = szDBASE) then
Check(DbiPackTable(Table.DBHandle,
Table.Handle, nil, szDBASE, True))
else
raise
EDatabaseError.Create('Table蹇呴渶鏄痙BASE鎴朏oxPro绫诲瀷');
Table.Open;
end;
鐗瑰埆瀵硅繖娈垫簮鐮佽鏄庝竴涓嬶紝杩欐婧愮爜閮ㄥ垎鏀圭紪鑷狢锛屽凡缁忓湪涓婇潰鎻愬埌杩囩殑鐜涓祴璇曢氳繃锛岄渶瑕佹敞鎰忕殑鏄紝鏁版嵁琛ㄥ繀闇浠ョ嫭鍗犳柟寮忔墦寮锛岀畝鍗曠殑璇达紝灏辨槸鍦ㄨ璁℃椂灏嗘暟鎹〃鍏抽棴锛堝睘鎬ctive=False锛夛紝鍦ㄨ繍琛屾椂鎵嶆墦寮鏁版嵁琛(form_onCreate鏃禩able.Open)锛岃繖鏍锋墠鑳戒繚璇佹暟鎹〃鍦ㄧ嫭鍗犳柟寮忎笅琚墦寮銆侱biGetCursorProps锛堬級鏄竴涓鍙栨暟鎹〃鐨勫睘鎬х殑搴曞眰鍑芥暟璋冪敤锛岃繑鍥炰簡澶ч儴鍒嗛氱敤鐨勬暟鎹〃灞炴с侰heck锛堬級鍑芥暟鍙互绠鍗曠殑澶勭悊鏁版嵁搴撶殑鍑洪敊鎻愮ず鍜屽紓甯稿鐞嗭紝濡傛灉鍑虹幇鍑芥暟璋冪敤閿欒浼氳嚜鍔ㄦ樉绀哄嚭閿欎俊鎭
璇翠簡pack閭d箞涓庝箣瀵瑰簲鐨刄ndelete涔熷氨鏇磋瑙i噴浜嗭紝鍚屾牱鎴戞壘鍒颁簡灏嗚蒋鍒犻櫎鐨勬暟鎹仮澶嶇殑鍑芥暟锛屼笉杩囪繖涓嚱鏁伴殣钘忕殑鏇存繁锛岃繛C浠g爜閮芥病鏈夛紝鎵浠ヤ互涓嬬殑浠g爜瀹屽叏鐢辨垜鑷繁鎽哥储鍑烘潵锛屼粎鍦ㄤ笂闈㈣鍒扮殑鐜涓祴璇曢氳繃銆
棣栧厛浠嬬粛涓涓嬬浉搴旂殑搴曞眰鍑芥暟璋冪敤锛




发表于 2009-1-5 19:48
| 











