¥xÆW³Ì¤jµ{¦¡³]­pªÀ¸sºô¯¸
½u¤W¤H¼Æ
1350
 
·|­ûÁ`¼Æ¡G246227
°Q½×¥DÃD¡G189787
Åwªï±z§K¶O¥[¤J·|­û
°Q½×°Ï¦Cªí >> ±MÄæ¤å³¹ >> §ïµ½ASP®Ä¯àªº³Z¬-2 (Nancy Cluts µÛ)
[]  
[§Ú­n¦^ÂÐ]
¦^À³¥DÃD ¥[¤J§ÚªºÃöª`¸ÜÃD ÀËÁ|¦¹½g°Q½× ±N´£°ÝªÌ¥[¤J­Ó¤H¶Â¦W³æ
§ïµ½ASP®Ä¯àªº³Z¬-2 (Nancy Cluts µÛ)
»ù­È : 0 QP  ÂI¾\¼Æ:3048 ¦^À³¼Æ:0
¼Ó¥D

¯¸°È¤H­û ¯¸ªø
ªù¥~º~
0 1580
542 9
µo°e¯¸¤º«H

®½ÃØ VP µ¹ ¯¸°È¤H­û
³Z¬ 2: ±N¸g±`¨Ï¥Îªº¸ê®Æ§Ö¨ú¦bÀ³¥Îµ{¦¡©Î¤u§@¶¥¬qª«¥ó¤¤
ASP À³¥Îµ{¦¡©M¤u§@¶¥¬qª«¥ó´£¨Ñ±N¸ê®Æ§Ö¨ú¦b°O¾ÐÅ餤ªºÂ²«K®e¾¹¡C±z¥i¥H±N¸ê®Æ«ü¬£¨ìÀ³¥Îµ{¦¡©M¤u§@¶¥¬qª«¥ó¤¤¡A³o¨Ç¸ê®Æ¦b HTTP ©I¥s¤§¶¡±N·|¦s¯d¦b°O¾ÐÅ餤¡C¤u§@¶¥¬q¸ê®Æ¬O«ö¨Ï¥ÎªÌ¦s©ñªº¡A¦ÓÀ³¥Îµ{¦¡¸ê®Æ¦b©Ò¦³¨Ï¥ÎªÌ¤§¶¡¦@¥Î¡C

¤°»ò®É­Ô±N¸ê®Æ¸ü¤J¨ìÀ³¥Îµ{¦¡©Î¤u§@¶¥¬q¤¤©O¡H³q±`¡A¸ê®Æ¬O¦b±Ò°ÊÀ³¥Îµ{¦¡©Î¤u§@¶¥¬q®É¸ü¤J¡C­n¦bÀ³¥Îµ{¦¡©Î¤u§@¶¥¬q±Ò°Êµ{§Ç¤¤¸ü¤J¸ê®Æ¡AÀ³±N¾A·íªºµ{¦¡½X¤À§O·s¼W¨ì Application_OnStart() ©Î Session_OnStart() ¤¤¡C³o¨Ç¨ç¼ÆÀ³¦ì©ó Global.asa ¤¤¡A¦pªG¨S¦³¡A¥i¥H·s¼W³o¨Ç¨ç¼Æ¡C±z¤]¥i¥H¦b²Ä¤@¦¸¦³»Ý­n®É¸ü¤J¸Ó¸ê®Æ¡C­n¶i¦æ³o¶µ¤u§@¡A¦b ASP µe­±¤¤·s¼W¤@¨Çµ{¦¡½X (©Î½s¼g¤@­Ó¥i­«½Æ¨Ï¥Îªº script ¨ç¼Æ)¡A¥HÀˬd¸ê®Æ¬O§_¦s¦b¡A¦pªG¤£¦s¦b¡A´N¸ü¤J¸ê®Æ¡C³o¬O¤@­Ó¶Ç²Îªº®Ä¯à§Þ³N¡AºÙ¬°¡u´k©Êµû¦ô¡v - ¦b±zª¾¹D»Ý­n¬Y¤@­ÓªF¦è¤§«e¤£¥[¥H­pºâ¡C¨Ò¦p¡G

<%
Function GetEmploymentStatusList
Dim d
d = Application(?EmploymentStatusList?)
If d = ?? Then
' FetchEmploymentStatusList function (not shown)
' fetches data from DB, returns an Array
d = FetchEmploymentStatusList()
Application?EmploymentStatusList?) = d
End If
GetEmploymentStatusList = d
End Function
%>


±z¥i¥H¬°©Ò»Ýªº¨C­Ó¸ê®Æ¶ô½s¼gÃþ¦üªº¨ç¼Æ¡C

À³¸Ó¥H¤°»ò®æ¦¡¦s©ñ¸ê®Æ¡H¥i¥H¦s©ñ¥ô¦ó§ÎºA¡A¦]¬°©Ò¦³ script ÅܼƳ£¬OÅÜÅé¡C¨Ò¦p¡A±z¥i¥H¦s©ñ¦r¦ê¡B¾ã¼Æ©Î°}¦C¡C³q±`¡A±z±N¥H³o¨ÇÅÜÅéÃþ«¬¤§¤@¦s©ñ ADO °O¿ý¶°ªº¤º®e¡C­n±q ADO °O¿ý¶°Àò¨ú¸ê®Æ¡A±z¥i¥H¤â°Ê±N¸ê®Æ½Æ»s¨ì VBScript ÅܼơA¤@¦¸¤@­ÓÄæ¦ì¡C¨Ï¥Î¨ä¤¤¤@­Ó ADO °O¿ý¶°«ùÄò¨ç¼Æ GetRows()¡BGetString() ©Î Save() (ADO 2.5) ±NÅܱo§ó§Ö¥B§ó®e©ö¡C§¹¾ãªº¸Ô²Ó¸ê®Æ¶W¥X¥»¤å½d³ò¡A¦ý¥H¤Uªº¨ç¼ÆÁ|¨Ò»¡©ú¨Ï¥Î GetRows() ¶Ç¦^°O¿ý¶°¸ê®Æªº¤@­Ó°}¦C¡G

' Get Recordset, return as an Array
Function FetchEmploymentStatusList
Dim rs
Set rs = CreateObject(?ADODB.Recordset?)
rs.Open ?select StatusName, StatusID from EmployeeStatus?, _
?dsn=employees;uid=sa;pwd=;?
FetchEmploymentStatusList = rs.GetRows() ? Return data as an Array
rs.Close
Set rs = Nothing
End Function


¹ï¤W­±Á|¨Ò°µ§ó¶i¤@¨B§ï¶i¡A¥i¥H±N HTML §Ö¨ú¬°²M³æ¡A¦Ó¤£¬O°}¦C¡C¤U­±¬O²³æªº½d¨Ò¡G

' Get Recordset, return as HTML Option list
Function FetchEmploymentStatusList
Dim rs, fldName, s
Set rs = CreateObject(?ADODB.Recordset?)
rs.Open ?select StatusName, StatusID from EmployeeStatus?, _
?dsn=employees;uid=sa;pwd=;?
s = ?<select name=??EmploymentStatus??>? & vbCrLf
Set fldName = rs.Fields(?StatusName?) ' ADO Field Binding
Do Until rs.EOF
' Next line violates Don't Do String Concats,
' but it's OK because we are building a cache
s = s & ? <option>? & fldName & ?</option>? & vbCrLf
rs.MoveNext
Loop
s = s & ?</select>? & vbCrLf
rs.Close
Set rs = Nothing ' See Release Early
FetchEmploymentStatusList = s ' Return data as a String
End Function


¡u¦b¾A·íªº±ø¥ó¤U¡v¡A¥i¥H±N ADO °O¿ý¶°¥»¨­§Ö¨ú¦bÀ³¥Îµ{¦¡©Î¤u§@¶¥¬q»â°ì¤¤¡C¦³¨âÂI­nª`·Nªº¡G

¥²¶·±N ADO ¼Ð°O¬°µL­­¨î°õ¦æºü
¥²¶·¨Ï¥Î¤¤Â_³s½uªº°O¿ý¶°¡C
¦pªG¤£¯à«OÃÒº¡¨¬³o¨â­Ó»Ý¨D¡A«h¤£­n§Ö¨ú ADO °O¿ý¶°¡C¦b¤U­±ªº¡u«D±Ó±¶¤¸¥ó¡v©M¡u¤£­n§Ö¨ú³s½u¡v³Z¬¤¤¡A§Ú­Ì±N°Q½×±N COM ª«¥ó¦s©ñ¦bÀ³¥Îµ{¦¡©Î¤u§@¶¥¬q»â°ì¤¤ªº¦MÀI©Ê¡C

·í±z±N¸ê®Æ¦s©ñ¦bÀ³¥Îµ{¦¡©Î¤u§@¶¥¬q»â°ì®É¡A¸ê®Æ±N¦s¯d¦b¨ºùØ¡Aª½¨ì±z¥Hµ{¦¡§ïÅÜ¥¦¡B¤u§@¶¥¬q¹L´Á¡A©Î Web À³¥Îµ{¦¡­«·s±Ò°Ê¬°¤î¡C¦pªG¸ê®Æ»Ý­n§ó·s«ç»ò¿ì¡H­n¤â°Ê±j¨î§ó·sÀ³¥Îµ{¦¡¸ê®Æ¡A±z¥i¥H©I¥s¥u¦³ºÞ²z­û¤~¥i¦s¨úªº ASP µe­±¨Ó§ó·s¸ê®Æ¡C©ÎªÌ¡A±z¥i¥H³z¹L¨ç¼Æ©w´Á¦Û°Ê§ó·s¸ê®Æ¡C¤U¦C½d¨Ò¦s©ñ±a¦³§Ö¨ú¸ê®Æªº®É¶¡ÂW°O¡A¨Ã¦b¤@¬q®É¶¡¶¡¹j¤§«á§ó·s¸ê®Æ¡C

<%
' error handing not shown...
Const UPDATE_INTERVAL = 300 ' Refresh interval, in seconds

' Function to return the employment status list
Function GetEmploymentStatusList
UpdateEmploymentStatus
GetEmploymentStatusList = Application(?EmploymentStatusList?)
End Function

' Periodically update the cached data
Sub UpdateEmploymentStatusList
Dim d, strLastUpdate
strLastUpdate = Application(?LastUpdate?)
If (strLastUpdate = ??) Or _
(UPDATE_INTERVAL < DateDiff(?s?, strLastUpdate, Now)) Then

' Note: two or more calls might get in here. This is okay and will simply
' result in a few unnecessary fetches (there is a workaround for this)

' FetchEmploymentStatusList function (not shown)
' fetches data from DB, returns an Array
d = FetchEmploymentStatusList()

' Update the Application object. Use Application.Lock()
' to ensure consistent data
Application.Lock
Application(?EmploymentStatusList?) = Events
Application(?LastUpdate?) = CStr(Now)
Application.Unlock
End If
End Sub


½Ð°Ñ¾\ World's Fastest ListBox with Application Data ¤¤ªº¥t¤@­Ó½d¨Ò¡C

½Ðª`·N¦b¤u§@¶¥¬q©ÎÀ³¥Îµ{¦¡ª«¥ó¤¤§Ö¨ú¤j«¬°}¦Cªº°µªk¤£¬O«Ü¦n¡C¦b¦s¨ú°}¦Cªº¥ô¦ó¤¸¥ó¤§«e¡Ascript »y¨¥ªº»y¸q­n¨D¥²¶·¼È®É½Æ»s¾ã­Ó°}¦C¡C¨Ò¦p¡A¦pªG±N¥Ñ¦r¦ê²Õ¦¨ªº¦³ 100,000 ­Ó¤¸¥óªº°}¦C (¸Ó°}¦C±N¬ü°ê¶l»¼°Ï¸¹¹ïÀ³¨ì·í¦aªº®ð¶H¯¸) §Ö¨ú¦bÀ³¥Îµ{¦¡ª«¥ó¤¤¡AASP ¥²¶·¥ý±N©Ò¦³ªº 100,000 ­Ó®ð¶H¯¸½Æ»s¨ì¼È®É°}¦C¤¤¡AµM«á¤~¯à´£¨ú¤@­Ó¦r¦ê¡C¦b³oºØ±¡ªp¤U¡A¥Î¦Û­q¤èªk«Ø¥ß¤@­Ó¦Û­q¤¸¥ó¨Ó¦s©ñ°Ï®ð¶H¯¸ - ©Î¨Ï¥Î¦r¨å¤¸¥ó·|§ó¦n¡C

¥t¤@­Ó«ØÄ³¬O¡A¤£­n±NÀ¦¨à»P¬~¾þ¤ô¤@°_­Ë±¼¡G°}¦C¯à§Ö³t¬d´M©M¦s©ñ¦b°O¾ÐÅ餤¾Fªñªº¥D¯Á¤ÞÁä/¸ê®Æ¹ï¡C¯Á¤Þ¦r¨å¤ñ¯Á¤Þ°}¦C­nºC±o¦h¡CÀ³°w¹ï±zªº¹ê»Ú±¡ªp¡A¿ï¾Ü´£¨Ñ³Ì¨Î®Ä¯àªº¸ê®Æµ²ºc¡C

¥»½g¤å³¹µoªí©ó2000-09-09 00:00
¥Ø«e©|µL¥ô¦ó¦^ÂÐ
   

¦^ÂÐ
¦p­n¦^À³,½Ð¥ýµn¤J.