Powersoft璧勬枡搴撳湪绯荤粺寮鍙戜腑鐨勫簲鐢
鍙戝竷: 2008-6-26 20:45 | 浣滆: admin | 鏌ョ湅: 2娆
---- 鍦≒owerBuilder寮鍙戠幆澧冧腑锛屽瓨鍦ㄤ竴涓狿owersoft璧勬枡搴擄紝瀹冪敱浜斿紶琛ㄧ粍鎴愶紝璁板綍浜嗙敤鎴峰湪寮鍙戣繃绋嬩腑锛屽垱寤烘垨淇敼涓寮犺〃灞炴х殑鎯呭喌锛屽瀹氫箟鎴栦慨鏀硅〃涓悇鍒楃殑鏍囩鍜屽垪鏍囬锛屾湁鏁堟ц鍒欍佹樉绀烘牸寮 鍜岀紪杈戦鏍肩瓑銆傚阀濡欏湴浣跨敤杩欎簺琛ㄦ牸锛屽彲鍑忚交绯荤粺寮鍙戠殑宸ヤ綔閲忥紝鎻愰珮寮鍙戞晥鐜囷紝绯荤粺鍦ㄨ繍琛岃繃绋嬩腑涔熸槗浜庣淮鎶ゃ
---- 杩欎簲寮犺〃鍙婂垎鍒瓨璐殑淇℃伅濡備笅锛歅BCatCol姣忓垪鐨勫悕绉般佹爣棰樸佹爣绛惧強浣嶇疆淇℃伅 锛汸BCatEdt鍒楃殑缂栬緫椋庢牸鍙婂畾涔夛紱PBCatFmt鍒楃殑鏄剧ず椋庢牸鍙婂畾涔夛紱PBCatVld鍒楃殑鏈夋晥鎬ц鍒欏強瀹氫箟銆備笅闈粙缁嶇殑鏄埄鐢≒BCatCol鍜孭BCatEdt琛紝鐢ㄦ埛鏃犻』寤虹珛浠g爜琛紝鍙疄鐜扮敱浠g爜鍊兼眰鏄剧ず鍊肩殑鍔熻兘銆
---- 鍦≒BCatCol琛ㄤ腑娑夊強鐨勪富瑕佸垪鍙婂叾鍚箟濡備笅锛 pbc_tnam:琛ㄥ悕绉 , pbc_cnam:琛ㄤ腑鏌愬垪鐨勫悕绉,pbc_edit:璇ュ垪鎵瀵瑰簲鐨勭紪杈戦鏍;鍦≒BCatEdl琛ㄤ腑娑夊強鐨勪富瑕佸垪鍙婂叾鍚箟濡備笅锛 pbe_name:缂栬緫椋庢牸鍚嶇О,pbe_edit: 缂栬緫椋庢牸鍙兘鐨勫煎寘鎷唬鐮併佹樉绀哄兼垨涓嬫媺寮忔暟鎹獥鍙g殑鏄剧ず瀛楁鍚嶃佸煎瓧娈靛悕绛夛紝pbe_type锛氱紪杈戦鏍肩殑绉嶇被,濡87琛ㄧず涓嬫媺鍒楄〃锛88琛ㄧず涓嬫媺寮忔暟鎹獥鍙g瓑锛宲be_seqn姣忎釜缂栬緫椋庢牸鐨勫肩殑搴忓彿銆備笉鍚岀殑缂栬緫椋庢牸鍦ㄨ〃涓湁涓嶅悓鐨勫瓨璐牸寮忋傚涓嬫媺鍒楄〃锛岀涓涓褰曚负寮濮嬬殑鏍囧織锛岃屽悗鍚勮渚濇瀛樻斁涓嬫媺鍒楄〃鐨勫悇浠g爜鍊笺佹樉绀哄硷紱鑰屼笅鎷夋暟鎹獥鍙o紝閫氬父鏈変笁涓褰曪紝涓変釜璁板綍涓殑Pbe_edit鍒楃殑鍊煎垎鍒负鏁版嵁绐楀彛瀵硅薄鍚嶇О銆佷唬鐮佸瓧娈靛悕锛屾樉绀哄煎瓧娈靛悕銆傛牴鎹笂杩扮壒鎬у氨鍙疄鐜板浠讳竴缁欏畾琛紝宸茬煡鏌愪竴鍒楃殑浠g爜鍊硷紝姹傚嚭鍏舵樉绀哄笺
---- 璇ュ姛鑳界敱涓涓嚱鏁板畬鎴愶紝杈撳叆鍙傛暟涓猴細琛ㄥ悕銆佸垪鍚嶃佷唬鐮佸笺佸瓨鍌ㄦ樉绀哄肩殑瀛楃涓插彉閲忋傝繑鍥炲间负鏁村瀷锛岀瓑浜0鏈浆鎹紝澶т簬0杞崲鎴愬姛銆傚疄鐜版柟娉曪細棣栧厛鍒╃敤琛ㄥ悕銆佸垪鍚嶅湪PBCatCol琛ㄤ腑鎵惧埌璇ヨ褰曪紝鍙栧嚭pbc_edit鍒楃殑鍊硷紝瀹冭〃绀鸿鍒楀畾涔夌殑缂栬緫椋庢牸鐨勫悕绉帮紝濡傛灉涓虹┖琛ㄧず鏈畾涔夌紪杈戦鏍硷紝鏃犻』杩涜杞崲锛涘惁鍒欙紝鍒癙BCatEdl琛ㄤ腑鏌ユ壘璇ョ紪杈戦鏍硷紝鎸塒be_seqn椤哄簭鎵惧埌绗竴涓褰曪紝浠庤璁板綍涓彇鍑簆be_type鍒楀硷紝浠ュ垽鏂紪杈戦鏍肩殑绫诲瀷銆傚鏋滆鍊肩瓑浜庘87鈥濓紝 琛ㄧず缂栬緫椋庢牸涓轰笅鎷夊垪琛紝杞崲鏂规硶锛氫粠PBCatEdl琛ㄤ腑鎸塒be_seqn鍒楃殑搴忓彿渚濇鍙栧嚭Pbe_edit鍒楃殑鍊硷紝Pbe_edit鍒楁寜鐓у厛鏄剧ず鍊煎悗浠g爜鍊肩殑椤哄簭渚濇瀛樿涓嬫媺鍒楄〃鐨勬瘡涓潯鐩紝涓鏃︽壘鍒颁唬鐮佸煎嵆鍙‘瀹氭樉绀哄硷紱绛変簬鈥88鈥濓紝琛ㄧず缂栬緫椋庢牸涓轰笅鎷夋暟鎹獥鍙o紝杞崲鏂规硶锛氫粠PBCatEdl琛ㄤ腑鎸塒be_seqn鍒楃殑搴忓彿渚濇鍙栧嚭涓変釜璁板綍涓殑Pbe_edit鍒楃殑鍊硷紝瀹冧滑鍒嗗埆涓烘彁渚涙暟鎹簮鐨勬暟鎹獥鍙e璞″悕绉般佺敤浜庡瓨鍌ㄧ殑鍒楀悕绉帮紝鐢ㄦ潵鏄剧ず鐨勫垪鍚嶇О锛岃屽悗瀵硅鏁版嵁绐楀彛瀵硅薄杩涜鏌ユ壘鍗冲彲寰楀埌鍜屽瓨鍌ㄧ殑浠g爜鍊煎搴旂殑鏄剧ず鍊笺
---- 闄勭▼搴忔竻鍗(Powerbuilder 6.0杩愯閫氳繃)
//杩斿姞鍊肩瓑浜嶧alse:鏈浆鎹,True:杞崲鎴愬姛
//fielddisp鍙橀噺涓簉eference绫诲瀷鐨勫瓧绗︿覆鍙橀噺锛
鐢ㄤ簬杩斿姞鏄剧ず鍊笺
string s1,s2,vpbe_type,val1,val2
long ll_found
boolean findflag
datastore ds,ds1
findflag=False
//鍙栧嚭鎸囧畾琛ㄣ佸垪鐨勭紪杈戦鏍
SELECT "pbcatcol"."pbc_edit"
INTO :s1
FROM "pbcatcol"
WHERE ( "pbcatcol"."pbc_tnam" = :tabname ) AND
( "pbcatcol"."pbc_cnam" = :fieldname ) ;
IF s1="" THEN
RETURN findflag //鏈寚瀹氱紪杈戦鏍
END IF
//鍙栧嚭缂栬緫椋庢牸鏁版嵁
DECLARE t1 CURSOR FOR
SELECT "pbcatedt"."pbe_edit" ,
"pbcatedt"."pbe_type"
FROM "pbcatedt"
WHERE "pbcatedt"."pbe_name" =:
s1 ORDER BY "pbcatedt"."pbe_seqn";
OPEN t1;
FETCH t1 INTO :s2 ,:vpbe_type;
CHOOSE CASE vpbe_type
CASE "88"
//寤虹珛鏁版嵁瀛樺偍锛岀敤浜庤〃绀轰笅鎷夊紡鏁版嵁绐楀彛瀵瑰簲鐨勬暟鎹獥鍙e璞
ds=CREATE datastore
ds.dataobject=s2
ds.SetTransObject(sqlca)
ds.Retrieve()
//瀛樺彇鏄剧ず鍊笺佸瓨鍌ㄥ肩殑鍒楀悕
FETCH t1 INTO :val1 ,:vpbe_type;
FETCH t1 INTO :val2 ,:vpbe_type;
CLOSE t1;
//鍦ㄦ暟鎹獥鍙e璞′腑杩涜鏌ユ壘
s2=val1+"="+"'"+fieldvar +"'"
ll_found = ds.Find(s2,1,ds.RowCount())
IF(ll_found>0 ) THEN
//鍙栧嚭缁欏畾浠g爜鍊肩殑鏄剧ず鍐呭
fielddisp=ds.GetItemString(ll_found,val2)
findflag=true
END IF
DESTROY ds
CASE "87"
FETCH t1 INTO :s2 ,:vpbe_type;
//浠庝笅鎷夊垪琛ㄥ彇鏁版嵁
DO WHILE (sqlca.sqlcode = 0 AND NOT Findflag)
fielddisp=s2
//褰撳墠鏄剧ず鍐呭
FETCH t1 INTO :s2,:vpbe_type;
//褰撳墠鏄剧ず鍐呭瀵瑰簲鐨勪唬鐮
IF(sqlca.sqlcode 0) THEN
EXIT
END IF
IF s2=fieldvar THEN
//绛変簬缁欏畾浠g爜鍊
findflag=true
CONTINUE
END IF
FETCH t1 INTO :s2,:vpbe_t




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











