锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
闂涓錛氳涓嶈閲囩敤javascript妗嗘灦錛?/p>
鎴戝垰鍒板叕鍙哥殑鏃跺欙紝鎴戜滑鐨勬妧鏈灦鏋勫笀鏄笉鍚屾剰浣跨敤javascript 妗嗘灦銆傜悊鐢卞緢澶氾紝javascript 娌℃湁寰楀埌搴旀湁鐨勯噸瑙嗘槸涓昏鐨勫師鍥狅紝浠栦竴鐩村己璋冩垜浠仛鐨勬槸搴旂敤緋葷粺銆傛墍浠ヤ粬鍙湪緗戜笂鎵懼埌鍑犱釜js鏀懼湪欏圭洰涓嬮潰錛岀劧鍚庨〉闈笂寰堜貢錛岃鍐欎竴棰楁爲灞曠幇鐪熸槸楹葷儲鍙堥夯鐑︺傝屼笖澶у鐨刯avascript姘村鉤閮藉緢涓鑸紝鍩烘湰鍙槸紼嶅井浜嗚В涓鐐廣傜敤鐨勬渶澶氱殑榪樻槸鏁版嵁鏍¢獙錛屽啓鐨勬柟娉曡繕鏄痙ocument.form1.formname,document.add['id']涔嬬被鐨勫啓娉曘傝繖璁╂垜榪欎釜澶╁ぉ鍏蟲敞鐣岄潰鐨勬妧鏈漢鍛?鍐掓槯鑷О鎶鏈漢鍛橈紝鍏跺疄鍙槸鍦ㄧ晫闈㈠眰涓婃湁鐐圭爺絀惰屽凡)鐪熸槸鎶撶媯銆傚緢璁藉埡鐨勬槸錛屼負浜嗕嬌鐢ㄤ竴涓皬紿楀彛寮瑰嚭閿欒淇℃伅錛屾妸jqeury+ui鎼嚭鏉ャ傛暣涓」鐩篃鍙湁榪欎箞涓涓湴鏂圭敤鍒癹query,鍘誨勾鐨勬椂鍊檍query鐨勪漢姘旀鍦ㄦ攢鍗囥傛垜鏉ヤ簡涔嬪悗錛岀敱浜庤嚜宸辮緢鍒嗗皬錛屽湪鎶鏈笂璇翠笉涓婅瘽錛屽悗鏉ュぇ瀹剁晫闈笂寮鍙戠殑鏃跺欓亣鍒拌繖涓偅涓棶棰樿В鍐充笉浜嗙殑鏃跺欙紝澶у鎱㈡參鐨勮璇嗗埌浜嗘垜鐨勪環鍊箋傛柊鐨勯」鐩瀵艱鎴戣礋璐g晫闈㈣鑼冭繖鍧楋紝鍏徃涔熸兂鎶婅繖涓」鐩仛鎴愪竴涓駭鍝併傜粡榪囧緢澶氭鈥滃姏鑽愨濓紝鎴戠粓浜庤鏈嶄簡澶у錛屾垜浠笉鑳藉啀"IE only" 浜嗐?/p>
鎴戣涓轟嬌鐢ㄧ殑鐞嗙敱錛?涓錛屾垜浠鏈夊吋瀹瑰悇縐嶆祻瑙堝櫒鐨勮兘鍔涳紝鐜板湪鏂扮殑嫻忚鍣ㄥぇ鎴樻鍦ㄦ墦鍝嶏紝灝嗘潵鐨勬祻瑙堝櫒甯傚満榪樺緢闅捐銆傚湪css榪欐柟闈?鎴戝熼壌浜唀xt 鐨勫吋瀹規濇兂錛屽湪body鏍囩涓婂姞涓奵lass "IE IE6",榪欐牱鎴戜滑涓嶈浣跨敤hack 鍘誨吋瀹規祻瑙堝櫒浜嗐傚浜巎avascript涓婏紝鍩烘湰涓婂彧鏈塈E鍜岄潪IE鐨勫樊鍒簡銆備富嫻佺殑javascript妗嗘灦閮芥彁渚涗簡寰堝ソ鐨勬祻瑙堝櫒鏀寔銆備簩錛岀敤javascript妗嗘灦鐨勭洰鐨勬槸鎻愰珮寮鍙戞晥鐜囥傝繖涓庝富嫻佺殑javascript涓嶈皨鑰屽悎銆備笁錛寃eb搴旂敤姝e湪椋為熷彂灞曪紝鐣岄潰灞傚簲鐢ㄨ秺鏉ヨ秺澶嶆潅錛宩avascript涓嶅湪涓涓牎楠屾暟鎹殑鑴氭湰浜嗭紝ajax鐨勫簲鐢ㄨ兘寰堝ソ鐨勬彁鍗囩敤鎴蜂綋楠岋紝鏈変簺鍦哄悎浣跨敤ajax錛岀敤鎴鋒搷浣滄洿鍔犳柟渚褲備婦涓緢綆鍗曠殑渚嬪瓙錛屽緢澶氱殑璁板綍闇瑕佹帓搴忥紝铏界劧鍦ㄦ暟鎹笂鏉ョ湅錛屽彧瑕佹敼鍙樻帓搴忓艱兘瑙e喅闂錛屼絾鍦ㄧ晫闈笂錛岄毦閬撹鐢ㄦ埛鍘誨~鍐欐帓搴忓鹼紝榪欐牱鐢ㄦ埛浼氳寰楀緢闅炬搷浣滐紝鑰岀敤涓妔ortable錛岃繖涓棶棰樹笉浠呯畝鍗曪紝鑰屼笖鎿嶄綔璧鋒潵涓嶇煡閬撴竻鏅板灝戙傛垜浠粠浼犵粺鐨刢/s璧板埌b/s涓嶄粎鏄洜涓篵/s 涓嶉渶瑕佸畨瑁咃紝鍗囩駭瀹規槗銆傝繕鏄洜涓篵/s鍏鋒湁鏇村墠鐨勮〃鐜板姏銆?/p>
褰撶劧錛屽弽瀵逛嬌鐢╦avascript妗嗘灦鐨勭悊鐢變篃寰堝皷閿愩備竴錛屽紑鍙戜漢鍛樼殑姘村鉤寰堥毦浠ユ帉鎻$幇鏈夌殑javascript妗嗘灦銆備簩錛屽ぇ瀹跺潥鎸佽涓猴紝鍏跺疄鐜板湪鐢ㄧ殑javascript鐨勫湴鏂硅繕涓嶆槸寰堝銆備粠闇姹備笂灝嗗眻鎸囧彲鏁幫紝tree,borderlayout,grid,calendar銆?/p>
瀵規錛屾垜鎻愬嚭鐨勬兂娉曞氨鏄紝澶у濡傛灉瑙夊緱闅句互浣跨敤鐨勮瘽錛屾垜鍦╦avascript妗嗘灦涓婂仛涓嬈″皝瑁咃紝闄嶄綆浣跨敤闅懼害銆傜浜屼釜鐞嗙敱鏇村ソ璇達紝铏界劧鐜板湪浣跨敤鐨勫湴鏂瑰氨閭d箞鍑犱釜錛岄偅濂斤紝浣犺兘鎷垮嚭鏇村ソ鐨勬柟妗堜箞銆傛浘緇忔灦鏋勫笀璇達紝鎴戜滑甯屾湜姣忎竴涓晫闈㈡帶浠墮兘鏄崟鐙殑錛岃兘鍗曠嫭浣跨敤銆傚綋鐒剁幇鍦ㄧ殑涓繪祦javascript 閮芥槸榪欐牱鐨勩傝繖鏍鳳紝鎴戝氨鍦ㄥぇ瀹朵粛鐢ㄦ鐤戠殑鐪煎厜娉ㄨ鎴戠殑鏃跺欏紑濮嬩簡javascript妗嗘灦涔嬫梾銆?/p>
闂浜岋細鐢ㄥ摢涓猨avascript妗嗘灦錛?/p>
榪欎釜闂涓嶆槸鍦ㄨ璁烘垨鑰呬簤鎵у摢涓ソ鍝釜涓嶅ソ錛屾湭鍏嶅ぇ瀹跺啀鍙堜簤鎵э紝鎴戣浠栦滑鑷繁鎵緅avascript妗嗘灦錛岀敋鑷沖彲浠ユ妸浠栦滑鏈鐔熸倝鐨勬嬁鍑烘潵浣跨敤銆傚ぇ浼欓兘璇存病鏈夋椂闂達紝榪欐牱鎴戜篃涓嶆媴蹇冩湁浜鴻鍚庤瘽浜嗐?/p>
鎴戞妸鐩墠涓繪祦鐨刯avascript鍒嗕負涓夌被銆?/p>
璇稿錛歱rototype/jquery/mootools榪欐牱鐨刯avascript妗嗘灦錛屽彧鑳芥槸javascript宸ュ叿銆備粬鐨勪紭鍔垮氨鏄墿灞曟у己錛岀ぞ鍖烘敮鎸佸緢濂斤紝灝ゅ叾鏄痡query
絎簩綾誨氨鏄細yui/ext/dojo/qooxdoo榪欐牱鐨勬鏋躲備粬浠槸涓濂楀叏緋誨垪鐨勭函瀹㈡埛绔殑ui瑙e喅鏂規錛屼嬌鐢ㄦ柟渚匡紝鑳芥弧瓚蟲垜浠殑闇瑕併傜己鐐規槸鍏ュ彛寰堥珮錛岄傜敤浜庡仛瀵屽鎴風銆傝櫧鐒舵垜浠幇鍦ㄧ殑搴旂敤榪樻槸寰堝錛屼絾鏄繕娌℃湁鍒伴偅涓湴姝ャ?
榪樻湁涓綾誨氨鏄笌鏈嶅姟鍣ㄧ鎶鏈粨鍚堢殑ajax妗嗘灦錛屼粬鍙兘鍙玜jax妗嗘灦,浠栧熀鏈彧鍋氭暟鎹氦鎹€備簨瀹炰笂鍙鍋氫竴涓畝鍗曠殑servlet(j2ee)鎴栬匟ttpHanlder(.Net)鍐嶅湪瀹㈡埛绔姞浠ュ皝瑁咃紝浣跨敤璧鋒潵涔熸槸寰堟柟渚跨殑銆傛墍浠ヨ繖綾籥jax妗嗘灦鎴戣涓轟笉闇瑕佽冭檻銆?
鍦ㄦ垜鐪嬫潵錛屽茍涓嶆槸閭d釜妗嗘灦緇濆鐨勫ソ鍧忥紝鑰屾槸浠涔堟牱鐨勬鏋惰兘鏈濂界殑婊¤凍浣犵殑闇姹傘?
璁轟釜浜洪槄鍘嗕笂鏉ヨ錛屼笁綾葷殑澶氫釜妗嗘灦鎴戦兘鐭ラ亾涓浜屻備絾鏄垜鏈鍠滄jquery,鎵浠ヤ嬌鐢ㄤ簡jquery浜嗭紝浠栫殑濂藉灝辨槸杞婚噺綰э紝鎵╁睍鎬у己錛岀幇鏈夌殑鎻掍歡瓚充互婊¤凍闇瑕併備唬鐮侀潪甯哥畝浠嬭屼笖鎵ц鏁堢巼楂樸備簬鏄垜鎵句簡涓澶у爢jquery鎻掍歡銆傚啀鑷繁灝佽鍩庣◢寰畝鍗曠殑鏂規硶銆傛湰鐫涓嶉噸澶嶅彂鏄庤疆瀛愮殑鍘熷垯銆傚緢澶氱殑鐣岄潰闂閮借兘瑙e喅浜嗐?
闂涓夛細鐪熺殑鏄偅鏍蜂箞錛?
鏃惰嚦2009,欏圭洰瀹屼簡錛屽埌浜嗛渶瑕佸啀嬈″皝瑁呭煄浜у搧鐨勬椂鍊欙紝楹葷儲涔熷氨鏉ヤ簡銆傛垜鍙戠幇铏界劧jquery鎻掍歡寰堝錛屽緢鍏紝浣嗘槸鐢變簬鏄櫨鑺遍綈鏀撅紝鎴戝氨涓嶆兂淇敼閲岄潰鐨勪唬鐮併傛參鎱㈢殑浣跨敤鍙戠幇寰堝鎻掍歡涓嶆槸寰堢ǔ瀹氾紝鍍廽stree,jquery ui 鐢變簬鍏堝墠鐢ㄧ殑鐗堟湰姣旇緝浣庯紝瀵艱嚧寰堟湁鐨刡ug鑷繁鍐欎竴浜涗慨姝c傜幇鍦ㄥ洖榪囧ご鏉ョ湅閭f椂鍊欏仛鐨勪笢瑗匡紝鍙戠幇鏂扮殑鐗堟湰宸茬粡淇浜嗚繖浜涘姛鑳姐傝屾崲涓婃柊鐗堟湰鐨刯query錛屽彉鍖栬繕鏄洰澶氾紝姣斿jquery.browser灝變笉鎺ㄨ崘浣跨敤浜嗭紝鎬庝箞鍔炪?
灝嗘潵銆?
鏈枃灝辨槸鍦ㄤ嬌鐢╦query涔嬪悗錛屽彂鐜扮淮鎶ゅ伐浣滈噺涔熶笉灝忕殑鑳屾櫙涓嬪啓涓嬫潵鐨勩傛垜涓嶇煡閬撴槸涓嶆槸鎴戝綋鍒濋夋嫨jquery鏄敊璇殑銆傛槸涓嶆槸搴旇閫夋嫨ext 涔嬬被鐨勬湁鐫鏇村己琛ㄧ幇鑳藉姏錛屾洿紼沖畾鐨勬鏋朵箞錛熺幇鍦ㄧ殑浠g爜榪樻槸涓嶆槸閭d箞鐞嗘兂銆傜敱浜庡緢澶氱殑鍘嗗彶鍘熷洜錛屽ぇ瀹惰繕鍦ㄧ敤ecside 錛宩scalendar銆備嬌鐢╡cside鏄洜涓哄巻鍙插師鍥犮備嬌鐢╦scalendar鏄洜涓簀query榪樻病鏈変竴涓棩鍘嗘帶浠惰兘鏀寔鏃墮棿鐨勩傛垜涓涓漢鐨勭簿鍔涙湁闄愶紝鑰屼笖鎴戝緢澶氱殑鏃墮棿閮藉湪鍐欓」鐩唬鐮?璇村埌搴曡繕鏄瀵間笉閲嶈)銆傛垜鎷呭績鎴戝綋鏃跺仛鐨勫喅瀹氫細瀵瑰皢鏉ラ犳垚璐熼潰褰卞搷銆?
鍐掓槯鍙戝湪棣栭〉涓婏紝鐪熻瘹鐨勫笇鏈涘ぇ瀹舵彁鍑鴻嚜宸辯殑鐪嬫硶錛屽湪浼佷笟綰у簲鐢ㄧ郴緇熶笂鐣岄潰灞傚簲璇ユ庢牱鍋氾紝鏂囦腑鐨勬湁浜涜鐐瑰鏈変笉瀵圭殑鍦版柟榪樿澶у鎸囨暀
涔嬫墍浠ヨ鎶妔ql server 2000 jdbc 鍒嗛〉鍗曠嫭鏉ヨ璇達紝鍙堜袱涓湴鏂硅繕鏄煎緱涓鎻愶紝涓鑰呮槸sql server 2000瑕佸疄鐜版暟鎹簱鍒嗛〉鏄瘮杈冮夯鐑︾殑浜嬫儏銆備簩鑰呮槸jdbc鏌ヨ鍑哄涓猂esultSet 鐨勫彇娉曘?/p>
鍏堝湪欏圭洰鐨刢lasspath涓坊鍔爉sbase.jar,mssqlserver.jar,msutil.jar 鎬庝箞鏉ョ殑灝變笉澶氬簾璇濅簡銆傞渶瑕佽鐨勬槸鎴戞渶鍏堢敤鐨剆ql server 2005 jdbc椹卞姩sqljdbc.jar鏀懼埌欏圭洰涓紝鍚庢潵鐨勭▼搴忔槸鎶ラ敊鐨勩傚洖澶存兂鎯籌紝鎶ラ敊鏈夌悊錛宻ql server 2005 宸茬粡鏀寔rownum 鍒嗛〉浜嗐?/p>
鍏堣璇磗ql server 2000鐨勫垎欏電殑瀹炵幇錛岀洰鍓嶅疄鐜版柟娉曞ぇ姒傛槸閭d笁縐嶃傛垜涓漢榪樻槸鍠滄浣跨敤瀛樺偍榪囩▼,鍘熷洜鏄嬌鐢ㄩ潪甯告柟渚匡紝鑷充簬浣跨敤鐨勫瓨鍌ㄨ繃紼嬶紝榪欓噷榪樻槸鏀懼嚭鏉ョ湅鐪嬶紝浼拌澶у鐢ㄧ殑閮藉ぇ鍚屽皬寮傘?/p>
IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[Pr_QueryByPage]') AND OBJECTPROPERTY(id,N'IsProcedure') = 1) BEGIN EXEC dbo.sp_executesql @statement = N'create procedure [dbo].[Pr_QueryByPage] @sqlstr nvarchar(4000), --鏌ヨsql @currentpage int, --絎〉璁板綍鏉℃暟 @pagesize int --姣忛〉鏄劇ず璁板綍 as set nocount on declare @P1 int, --P1鏄父鏍囩殑ID @rowcount int exec sp_cursoropen @P1 output,@sqlstr,@scrollopt=1,@ccopt=1,@rowcount=@rowcount output select ceiling(1.0*@rowcount/@pagesize) as TotalPage,@rowcount as [RowCount] set @currentpage=(@currentpage-1)*@pagesize+1 exec sp_cursorfetch @P1,16,@currentpage,@pagesize exec sp_cursorclose @P1 set nocount off ' END GO
榪欎釜瀛樺偍榪囩▼鐨勫疄鐜幫紝浣跨敤浜嗕笁涓郴緇熷瓨鍌ㄨ繃紼媠p_cursoropen ,sp_cursorfetch ,sp_cursorclose 浠庡瓧闈笂鐨勬剰鎬濆ぇ姒傛槸浠栧彨緇撴灉闆嗕嬌鐢ㄦ父鏍囨墦寮錛岀劧鍚庤鍙栧叾涓殑@pageSize鏉¤褰曪紝鎵浠ュ崟浠庢煡璇笂鏉ヨ錛屾ц兘鏄笉鍙婁嬌鐢╯elect top 涔嬬被鐨勫疄鐜般?/p>
浣跨敤璧鋒潵闈炲父瀹規槗錛宔xec Pr_QueryByPage 'select * from yourtable',1,10 灝卞彲浠ヤ簡楹葷儲鐨勬槸浠栬繑鍥炵殑鏄笁寮犺〃銆傜涓寮犺〃鏄煡璇㈢殑琛紝浣嗘槸娌℃湁璁板綍銆傜浜屼釜琛ㄤ竴琛屼袱鍒楋紝絎竴涓垪鏄婚〉鏁幫紝絎簩涓垪鏄昏褰曟潯鏁般傜涓夊紶琛ㄦ墠鏄渶瑕佺殑鏁版嵁銆傝繖灝遍犳垚浜嗗彇鐨勬椂鍊欐湁鐐瑰皬楹葷儲錛屽洜涓轟箣鍓嶅彧鐭ラ亾錛屽湪.net涓彲浠ョ洿鎺ill(DataSet)錛岀劧鍚嶥ataSet閲岄潰鍙彇DataTable銆備絾鏄湪jdbc閲岄潰鎴戞槧鍍忎腑ResultSet 鍙兘瀹逛竴寮犺〃銆傚悗鏉ユ壘浜嗕竴浜涜祫鏂欙紝鍘熸潵PreparedStatement,CallableStatement,Statement閮芥敮鎸佹煡璇㈣繑鍥炲涓猂esultSet 錛屽ソ浜嗭紝闈炲父濂姐?涓嬮潰鏄垜浣跨敤CallableStatemnt鍙栧埌鐨勭粨鏋滈泦銆?/p>
CallableStatement cs = conn.prepareCall("exec Pr_QueryByPage 'select * from ckdmzd',1,10"); ResultSet rs = null; /** * execute returns : * true : returns ResultSet(s) * false: returns rows affected */ boolean hasResultSet = cs.execute(); if(hasResultSet){ /** * skip the first ResultSet */ rs=cs.getResultSet(); /** * second ResultSet : pageCount & recordCount */ if(cs.getMoreResults()){ rs=cs.getResultSet(); while(rs.next()){ String pageCount=rs.getString(1); String recordCount=rs.getString(2); } } /** * the thrid one is the paged result */ if(cs.getMoreResults()){ rs=cs.getResultSet(); while(rs.next()){ // do somthing with ResultSet } } }
榪欐牱灝卞疄鐜頒簡鍒嗛〉錛岀綉涓婂緢澶氫漢嫻嬭瘯浜嗭紝榪欎釜鏂規硶鐨勬ц兘涓嶅強鍒殑鏂規硶錛岃繖閲屾垜瑕佹寚鍑虹殑鏄紝鍒殑鏂規硶鏄笉鑳借繑鍥炴葷殑璁板綍鏉℃暟鐨勩傝岃鐭ラ亾鎬葷殑璁板綍鏉℃暟錛岄氬父闇瑕乻elect count(*) from ( your sql) 榪欎袱嬈℃煡璇㈠彨璧鋒潵鐨勬椂闂存湭蹇呬細灝戙?/p>
浣跨敤涓婅堪鏂規硶瀹炵幇sql server 2000 jdbc 鍒嗛〉錛屼嬌鐢ㄦ柟渚匡紝鎬ц兘榪樿鐨勮繃鍘匯傛垜涓嶇煡閬搒ql server 2005 鐨勬煡璇㈡ц兘鏄惁鍙堟彁鍗囥?/p>