ÄãµÄλÖãºÈí¼þ> Éè¼ÆÔÚÏß> ÍøÒ³ÌÕ°É> ¼¼Êõƽ̨> HTMLѧϰ>
ÈçºÎÔöÇ¿ASP³ÌÐòÐÔÄÜ(1)
2000-08-15 00:00:00¡¤ ±àÒ룺¸Ê¼½Æ½¡¤Yesky

b>¼ò½é

¡¡¡¡ÐÔÄÜÊÇÒ»¸öºÜÖØÒªµÄÌØÕ÷¡£ÄãÐèÒªÊÂÏÈÉè¼ÆºÃÐÔÄÜÖ¸±ê£¬·ñÔòÈÕºó¾ÍҪΪ´ËÖØÐ±àд³ÌÐò¡£¾ÍÊÇ˵£ºÒªÉèÏëºÃÔõÑù×î¼Ñ»¯µØÖ´ÐÐASP³ÌÐò£¿

¡¡¡¡±¾ÎÄÌá³öÁËһЩÓÅ»¯ASPÓ¦ÓúÍVBScriptµÄ¼¼ÇÉ£¬Ðí¶à¼¼ÇɺÍȱÏݶ¼¾­¹ýÁËÑÐÌÖ¡£ÕâÀïÁгöµÄ½¨ÒéÒѾ­ÔÚhttp://www.microsoft.com ºÍÆäËûÕ¾µãÉϽøÐÐÁ˲âÊÔ£¬¶¼¹¤×÷µÃ·Ç³£ºÃ¡£±¾ÎļÙÉèÄã¾ß±¸ASP¿ª·¢µÄ»ù±¾ÖªÊ¶£¬°üÀ¨VBScript»òÕßJScript£¬ASPÓ¦ÓóÌÐò£¬ASP Session£¬ÒÔ¼°ÆäËûASPÄÚÖöÔÏó£¨Request£¬ResponseºÍServer£©¡£

¡¡¡¡Í¨³££¬ASPµÄÖ´ÐÐÐÔÄÜÔ¶Ô¶²»½ö½öÒÀÀµASP´úÂë±¾Éí£¡ÔÚ±¾ÎĵÄβ²¿ÁгöÁËÓëÐÔÄÜÏà¹ØµÄ×ÊÔ´£¬ËüÃǺ¬¸ÅÁËASPºÍ·ÇASPµÄ²¿·Ö£¬°üº¬ActiveX Data Objects£¨ADO£©£¬Component Object Model£¨COM£©£¬Êý¾Ý¿â£¨Database£©£¬ÒÔ¼°InternetÐÅÏ¢·þÎñÆ÷£¨IIS£©µÄÅäÖᣳýÁËÕâЩ£¬»¹ÓÐһЩ·Ç³£ºÃµÄÁ´½ÓÖµµÃÄãÒ»¿´¡£

¼¼ÇÉ1£ºÔÚWeb·þÎñÆ÷ÉÏ»º´æ¾­³£Ê¹ÓõÄÊý¾Ý

¡¡¡¡µäÐ͵ÄÇé¿öÊÇ£ºASPÒ³Ãæ´Óºǫ́´æ´¢ÖÐÈ¡»ØÊý¾Ý£¬È»ºóÒÔ³¬Îı¾±ê¼ÇÓïÑÔ£¨HTML£©µÄÐÎʽÐγɽá¹û¡£²»¹ÜÊý¾Ý¿âµÄËÙ¶ÈÈçºÎ£¬´ÓÄÚ´æÖÐÈ¡»ØÊý¾ÝÒª±È´Óºǫ́´æ´¢É豸ÖпìµÃ¶à¡£´Ó±¾µØÓ²Å̶ÁÈ¡Êý¾Ýͨ³£Ò²·Ç³£¿ì¡£ËùÒÔ£¬Ìá¸ßÐÔÄÜ¿ÉÒÔͨ¹ý»º´æ·þÎñÆ÷ÉϵÄÊý¾ÝÀ´ÊµÏÖ£¬ÎÞÂÛÊǽ«Êý¾Ý»º´æÔÚÄÚ´æÖУ¬»òÕß±¾µØÓ²ÅÌÖС£

¡¡¡¡»º´æÊǾ­µäµÄ¡°¿Õ¼ä»»Ê±¼ä¡±µÄÕÛÖз½Ê½¡£Èç¹û»º´æµÃÇ¡µ±£¬¾Í¿ÉÒÔ¿´µ½ÏÔÖøµÄÐÔÄÜÌáÉý¡£ÎªÁËÈûº´æÓÐЧ£¬±ØÐë±£Ö¤»º´æÊý¾ÝÊǾ­³£ÒªÖØÓõ쬶øÇÒÒ²ÊǼÆËãÆðÀ´·±ËöµÄ¡£×°Âú³Â¾ÉÊý¾ÝµÄ»º´æÊǶÔÄÚ´æµÄÀË·Ñ¡£

¡¡¡¡²»¾­³£¸Ä±äµÄÊý¾ÝÊÇ»º´æµÄ½ÏºÃ¶ÔÏó£¬ÒòΪ²»ÐèÒªËæÊ±¿¼ÂÇÕâЩÊý¾Ý¸üкóµÄͬ²½²Ù×÷¡£×éºÏ¿ò¡¢²Î¿¼±í¸ñ¡¢DHTML´úÂë¡¢À©Õ¹±ê¼ÇÓïÑÔ´®¡¢²Ëµ¥ÒÔ¼°Õ¾µãÅäÖñäÁ¿£¨°üÀ¨Êý¾ÝÔ´Ãû×ÖDSNS£¬InternetЭÒ鵨ַIPÒÔ¼°Web·¾¶£©¶¼ÊǺܺõĻº´æ¶ÔÏó¡£×¢Ò⣺Ҫ»º´æÊý¾Ý±í´ïʽ¶ø²»ÊÇÊý¾Ý±¾Éí¡£Èç¹ûÒ»¸öASPÒ³Ãæ¾­³£±ä»¯²¢ÇҺܷÑÁ¦È¥»º´æ£¨±ÈÈçÕû¸ö²úƷĿ¼£©£¬¾ÍÒª¿¼ÂÇÔ¤²úÉúHTML£¬¶ø²»ÊÇÿ´Î·¢ÉúÇëÇóʱÔÙÃèÊöËü¡£

¼¼ÇÉ2£ºÔÚApplication»òSession¶ÔÏóÖлº´æ¾­³£Ê¹ÓõÄÊý¾Ý

¡¡¡¡ASPÖеÄApplicationºÍSession¶ÔÏóÊÇÔÚÄÚ´æÖлº´æÊý¾ÝµÄ±ãÀûÈÝÆ÷¡£Äã¿ÉÒÔ½«Êý¾Ý¸³Öµ¸øApplicationºÍSession¶ÔÏó£¬ÕâЩÊý¾ÝÔÚHTTPµ÷ÓÃÆÚ¼ä½«Ò»Ö±±£³ÖÔÚÄÚ´æÖС£SessionÖеÄÊý¾ÝÊÇÎ Ò»¸öÓû§·þÎñµÄ£¬ApplicationÖеÄÊý¾ÝÊÇËùÓÐÓû§¹²ÏíµÄ¡£

¡¡¡¡ºÎʱÐèÒªÔÚApplicationºÍSessionÖÐ×°ÈëÊý¾Ý£¿Í¨³££¬µ±Ó¦ÓóÌÐòÆô¶¯»òÕ߻Ự¿ªÊ¼Ê±£¬Êý¾Ý¾Í±»×°ÈëÁË¡£ÎªÁËÔÚÕâʱװÈëÊý¾Ý£¬ÔÚApplication OnStart()»òÕßSession OnStart()ÖзֱðÌí¼ÓÊʵ±µÄ´úÂë¡£ÕâЩº¯ÊýλÓÚÎļþGlobal.asaÖУ¬Èç¹ûÔ­À´²»´æÔÚ£¬¾ÍÌí¼ÓÉÏ¡£Ò²¿ÉÒÔÔÚÊý¾ÝÊ×´ÎÐèÒªµÄʱºòµ÷È룬ÔÚASPÒ³ÃæÖÐÌí¼Ó´úÂ룬¼ì²éÊý¾ÝÊÇ·ñ´æÔÚ£¬Èç¹ûûÓз¢ÏÖ£¬¾Íµ÷ÈëËü¡£ÕâÀïÓÐÒ»¸öÀý×Ó£¬Ëü´ú±íÁ˱»³ÆÎª¡°lazy evalution¡±µÄ¾­µäÐÔÄÜ´¦Àí¼¼Êõ£ºÖ±µ½ÐèҪʱ£¬ÔÙÈ¥¼ÆËã¡£Àý×ÓÈçÏ£º
$#@60;%
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
%$#@62;
¶ÔÓÚ²»Í¬µÄÊý¾Ý£¬¿ÉÒÔ±àдÀàËÆµÄº¯Êý´úÂë¡£

¡¡¡¡Êý¾ÝÓ¦¸Ã°´Ê²Ã´¸ñʽ±£´æ£¿ÈκαäÁ¿ÀàÐͶ¼¿ÉÒÔ£¬ÒòΪËùÓеĽű¾±äÁ¿¶¼ÊDz»Í¬µÄ¡£±ÈÈç˵£¬¿ÉÒÔ±£´æÎª×Ö·û´®¡¢ÕûÐÍ»òÕßÊý¾Ý¡£Í¨³££¬½«ADO¼Ç¼¼¯µÄÄÚÈÝ´æ´¢µ½ÕâЩ±äÁ¿ÀàÐÍÖÐÒ»¸ö¡£ÎªÁË´ÓADO¼Ç¼¼¯ÖÐÈ¡³öÊý¾Ý£¬ÐèÒªÊÖ¹¤µØ¿½±´Êý¾Ýµ½VBScript±äÁ¿ÖУ¬Ã¿´ÎÒ»¸ö×ֶΡ£Ê¹ÓÃÈÎÒâÒ»¸öADO¼Ç¼¼¯µÄº¯Êýfunctions GetRows(),GetString() »òÕß Save() (ADO 2.5)¶¼·Ç³£µÃ¿ìËÙ¶øÇÒ¼òµ¥£¬ÕâÀïÓиöº¯Êý£¬ÃèÊöÁËÈçºÎʹÓÃGetRows£¨£©·µ»Ø¼Ç¼¼¯Êý¾ÝµÄÊý×飺
 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
ÉÏÊö´úÂëµÄÒ»¸ö¸üÉîµÄ¼¼ÇÉÊÇΪÁÐ±í»º´æÁËHTML¡£ÏÂÃæÊǸö¼òµ¥µÄÀý×Ó£º
 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 = "$#@60;select name=""EmploymentStatus"$#@62;" & vbCrLf
 Set fldName = rs.Fields("StatusName")  ADO Field Binding
 Do Until rs.EOF
  Next line violates Dont Do String Concats,
  but its OK because we are building a cache
 s = s & " $#@60;option$#@62;" & fldName & "$#@60;/option$#@62;" & vbCrLf
 rs.MoveNext
 Loop
 s = s & "$#@60;/select$#@62;" & vbCrLf
 rs.Close
 Set rs = Nothing  See Release Early
 FetchEmploymentStatusList = s  Return data as a String
End Function
ÔÚºÏÊʵĻ·¾³Ï£¬¿ÉÒÔÔÚApplication»òÕßSessionÖлº´æADO¼Ç¼¼¯±¾Éí£¬µ«ÊÇÓÐ2µãÌáʾ£º
  • ADO±ØÐëÊÇ×ÔÓÉÏ̱߳ê¼ÇµÄ
  • ÐèҪʹÓÃdisconnected recordset·½Ê½
¡¡¡¡Èç¹û²»Äܱ£Ö¤ÉÏÊö2¸öÌõ¼þ£¬¾Í²»Òª»º´æADO¼Ç¼¼¯£¬ÒòΪÕâ»á²úÉúºÜ´óµÄΣÏÕÐÔ¡£

¡¡¡¡µ±ÔÚApplication»òSessionÖб£´æÊý¾Ýºó£¬Êý¾Ý½«Ò»Ö±±£³Ö£¬³ý·Ç³ÌÐò¸Ä±äËü¡¢Session±äÁ¿µ½ÆÚ»òÕßWebÓ¦ÓóÌÐòÖØÐÂÆô¶¯¡£Èç¹ûÊý¾ÝÐèÒª¸üУ¬Ôõô°ì£¿¿ÉÒÔµ÷ÓÃÖ»ÓйÜÀíÔ±²ÅÄÜ·ÃÎʵÄASPÒ³ÃæÀ´¸üÐÂÊý¾Ý£¬»òÕߣ¬Í¨¹ýº¯ÊýÖÜÆÚÐÔµÄ×Ô¶¯¸üÐÂÊý¾Ý¡£ÏÂÃæµÄÀý×ÓÖУ¬Ó뻺´æÊý¾ÝÒ»Æð±£´æÁËʱÖÓ±ê¼Ç£¬¹ýÒ»¶Îʱ¼äºó£¬¾ÍË¢ÐÂÊý¾Ý¡£
$#@60;%
 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 $#@60; 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") = d
 Application("LastUpdate") = CStr(Now)
 Application.Unlock
 End If
End Sub
ÓÐÁíÍâÒ»¸öÀý×Ó£¬Çë²ÎÔÄ World¡¯s Fastest ListBox with Application Data¡£

¡¡¡¡±ØÐëÒâʶµ½£¬ÔÚSession»òÕßApplication¶ÔÏóÖлº´æ´óÈÝÁ¿µÄÊý×é²»ÊÇÒ»¸öºÃµÄ·½·¨¡£´æÈ¡Êý×éÖÐÈκÎÔªËØÇ°£¬½Å±¾ÓïÑԵĹæÔòÒªÇóÊ×ÏÈÒª½¨Á¢Õû¸öÊý×éµÄÁÙʱ±¸·Ý¡£±ÈÈ磬Èç¹ûÔÚApplication¶ÔÏóÖлº´æÒ»¸ö100£¬000¸öÔªËØµÄÊý×飬ÆäÖаüº¬U.S.ÓÊÕþ±àÂëÓë±¾µØÆøÏóÕ¾µÄ¶ÔÓ¦¹ØÏµ£¬ASP¾Í±ØÐëÊ×ÏÈ¿½±´ËùÓÐ100£¬000¸öÆøÏóÕ¾ÐÅÏ¢µ½ÁÙʱÊý×éÖУ¬È»ºó²ÅÄÜÑ¡ÔñÆäÖÐÒ»¸ö×Ö·û´®½øÐд¦Àí¡£ÔÚÕâÖÖÇé¿öÏ£¬´´½¨Ò»¸ö¶¨ÖƵÄ×é¼þ£¬±àдһ¸ö·½·¨´æ´¢ÆøÏóÕ¾ÐÅÏ¢£¬ÊǷdz£ºÃµÄ·½·¨¡£

¼¼ÇÉ3£ºÔÚWeb·þÎñÆ÷´ÅÅÌÉÏ»º´æÊý¾ÝºÍHTMLÒ³Ãæ

¡¡¡¡ÓÐʱºò£¬ÓС°Ðí¶à¡±Êý¾ÝÒªÔÚÄÚ´æÖлº´æ¡£¡°Ðí¶à¡±ÊÇÏà¶Ô¶øÑԵģ¬ËüÈ¡¾öÓÚÄÜÏûºÄ¶àÉÙÄÚ´æ¡¢»º´æÏîÄ¿µÄÊýÁ¿ÒÔ¼°È¡»ØÊý¾ÝµÄƵ¶È¡£ÈκÎÇé¿öÏ£¬Èç¹ûÐèÒªÔÚÄÚ´æÖлº´æ´óÁ¿µÄÊý¾Ý£¬Ç뿼ÂÇÒÔtext»òÕßXMLÎļþ¸ñʽÔÚWeb·þÎñÆ÷Ó²ÅÌÉÏ×ö»º´æ¡£µ±È»£¬Ò²¿ÉÒÔ»ìºÏʹÓÃÓ²ÅÌ»º´æÊý¾ÝÒÔ¼°Äڴ滺´æÊý¾Ý£¬´Ó¶ø´ïµ½×î¼Ñ»º´æ¡£

¡¡¡¡×¢Ò⣺µ±²âÊÔÒ»¸öµ¥Ò»ASPÒ³ÃæµÄÐÔÄÜʱ£¬´Ó´ÅÅÌÈ¡»ØÊý¾Ý²»Ò»¶¨±È´ÓÍøÂçÊý¾Ý¿âÖÐÈ¡»ØÊý¾Ý¿ì£¬µ«ÊÇ»º´æ¼õÉÙÁËÍøÂçÊý¾Ý¿âµÄµ÷Óá£ÔÚ´ó¹æÄ£µ÷ÓÃʱ£¬Õ⽫Ã÷ÏÔµØÌá¸ßÍøÂçµÄÍÌÍÂÄÜÁ¦¡£»º´æÒ»¸ö·ÑʱµÄ²éѯ½á¹ûÊǷdz£ÓÐÓõ쬱ÈÈç¶ÔÓÚÒ»¸ö¸´ÔӵĴ洢¹ý³Ì£¬»òÕß´óÁ¿µÄ½á¹ûÊý¾Ý¡£

¡¡¡¡ASPºÍCOMÌṩÁ˼¸ÖÖ½¨Á¢»ùÓÚ´ÅÅÌ»º³åÅäÖõŤ¾ß¡£ADO¼Ç¼¼¯µÄSave£¨£©ºÍ Open£¨£©º¯Êý¸ºÔð±£´æºÍµ÷Èë´ÅÅÌÉϵļǼ¼¯¡£ÁíÍ⻹ÓÐһЩ×é¼þ£º
  • Scripting.FileSystemObject ÔÊÐíÄã´´½¨¡¢¶ÁÈ¡ºÍдÎļþ
  • MSXML£¬Microsoft XML ½âÎöÆ÷ËæInternet Explorer¶øÀ´£¬Ö§³Ö±£´æºÍ×°ÈëXMLÎĵµ
  • LookupTable¶ÔÏ󣨱ÈÈçÔÚMSNÉÏʹÓã©ÊÇ´Ó´ÅÅ̵÷Èë¼òµ¥ÁбíµÄºÜºÃÑ¡Ôñ¡£
¡¡¡¡×îºó£¬¿¼ÂÇ»º´æ´ÅÅÌÊý¾ÝµÄ±í´ïʽ£¬¶ø²»ÊÇÊý¾Ý±¾Éí¡£Ô¤´¦ÀíµÄHTML¿ÉÒԴ洢Ϊ.htm»òÕß.aspÎļþ£¬Á´½ÓÖ±½ÓÖ¸ÏòËüÃÇ¡£Ê¹ÓÃÖîÈçXBuilder»òÕßMicrosoft SQL Server Internet·¢²¼ÀàµÄÉÌÒµ¹¤¾ß£¬Äܹ»×Ô¶¯´¦ÀíÕâЩ¹ý³Ì¡£¶øÇÒ£¬Ò²¿ÉÒÔÔÚ.aspÎļþÖаüº¬HTML³ÌÐòƬ¶Ï¡£Í¬Ñù£¬Ò²¿ÉʹÓÃFileSystemObject´Ó´ÅÅÌÉ϶ÁÈ¡HTMLÎļþ£¬»òÕßʹÓÃXML for early renderingÀ´×öÕâ¸ö¹¤×÷¡£

¼¼ÇÉ4£º±ÜÃâÔÚApplication»òSession¶ÔÏóÖлº´æ·ÇÇá¿ìÐÍ×é¼þ

¡¡¡¡ÔÚApplication»òSession¶ÔÏóÖлº´æÊý¾ÝÊÇÒ»¸öºÜºÃµÄ·½·¨£¬µ«ÊÇ£¬»º´æCOM¶ÔÏóÈ´ÓÐÑÏÖØµÄȱÏÝ¡£ÔÚApplication»òSession¶ÔÏóÖлº´æ¾­³£Ê¹ÓõÄCOM¶ÔÏóÕâ¸ö¹¤×÷ÊǷdz£ÎüÒýÈ˵쬵«ÊǺܲ»ÐÒ£¬Ðí¶àCOM¶ÔÏ󣬰üÀ¨ÓÃVisual Basic 6.0»òÕßÒÔǰ°æ±¾±àдµÄ¶ÔÏó×é¼þ£¬µ±´æ´¢ÔÚApplication»òSession¶ÔÏóÖк󣬶¼»á²úÉúÑÏÖØµÄÆ¿¾±ÎÊÌâ¡£

¡¡¡¡ÌØ±ðµØ£¬µ±×é¼þ±àдµÃ²»ÊǺÜÇáÇÉʱ£¬¾Í¼«¿ÉÄܲúÉúÆ¿¾±ÎÊÌâ¡£Ò»¸öÇáÐÍ×é¼þ¾ÍÊDZê¼ÇÁËThreadingModel=BothµÄ×é¼þ£¬ÆäÖкϼÆÁË×ÔÓÉÏ̵߳ÄÅÅÁУ¨FTM£©£¬»òÕß±ê¼ÇÁËThreadingModel=Neutral£¨NeutralģʽÊÇWindows2000ºÍCOM£«ÖеÄÐÂÌØÕ÷£©¡£ÏÂÃæµÄ×é¼þ²»ÊÇÇáÐ͵ģº
  • Free-threaded×é¼þ£¨³ý·Ç±»¼¯ºÏ³ÉFTM£©
  • Apartment-threaded×é¼þ
  • Single-threaded×é¼þ
¡¡¡¡Configured components²»ÊÇÇáÐÍ×é¼þ£¬³ý·ÇËüÃÇÊÇNeutral-threadedµÄ¡£Apartment-threaded×é¼þºÍÆäËû·ÇÇáÐÍ×é¼þÔÚÒ³·¶Î§ÄÚ¹¤×÷µÃºÜºÃ£¬¾ÍÊÇ˵£¬ËüÃÇÊÇÔÚÒ»¸öµ¥Ò»ASPÒ³ÃæÖд´½¨²¢Êͷŵġ£

¡¡¡¡Èç¹û»º´æÁË·ÇÇáÐÍ×é¼þ£¬½«»á·¢Éúʲô´íÎó£¿ÔÚSession¶ÔÏóÖлº´æµÄ·ÇÇáÐÍ×é¼þ½«»á¡°Ëø×¡¡±»á»°¡£ASPά»¤×ÅÒ»¸öÏìÓ¦ÇëÇóµÄ¹¤×÷Ï̳߳أ¬Í¨³££¬ÐµÄÇëÇó±»µÚÒ»¸ö¿ÉÓõŤ×÷Ï߳̿ØÖÆ¡£Èç¹ûÒ»¸ö»á»°±»ËøÔÚÒ»¸öÏß³ÌÖУ¬ÄÇôÇëÇó¾Í±»ÆÈµÈ´ýµ½Ïà¹ØµÄÏ̱߳äΪ¿ÉÓá£ÕâÀïÓÐÒ»¸öÀà±È£ºÄãǰÍùÒ»¸ö³¬¼¶Êг¡£¬ÌôÑ¡ÁËһЩʳƷ£¬²¢ÔÚ3ºÅ¸¶¿į̂¸¶¿î¡£´ÓÄÇÒÔºó£¬Ö»ÒªÔÚÄǸö³¬¼¶Êг¡ÂòʳƷ¸¶¿î£¬Äã¾Í»á¾­³£µ½3ºÅ¸¶¿į̂ȥ£¬ËäÈ»ÆäËûµÄ¸¶¿į̂ÈËÉÙЩÉõÖÁûÓÐÈË¡£

¼¼ÇÉ5£º²»ÒªÔÚApplication»òSession¶ÔÏóÖлº´æÊý¾Ý¿âÁ¬½Ó

¡¡¡¡»º´æADOÁ¬½Óͨ³£²»ÊÇÒ»¸öºÃµÄ²ßÂÔ¡£Èç¹ûÒ»¸öÁ¬½Ó¶ÔÏó±»´æ´¢ÔÚApplication¶ÔÏóÖУ¬²¢ÔÚËùÓеÄÒ³ÃæÊ¹Óã¬ÄÇôËùÓÐÒ³Ãæ½«»áÕù¶á¸ÃÁ¬½ÓµÄʹÓá£Èç¹û´æ´¢ÔÚASP Session¶ÔÏóÖУ¬ÄÇô½«ÒªÎªÃ¿Ò»¸öÓû§¶¼´ò¿ªÊý¾Ý¿âÁ¬½Ó¡£Õ⽫´ì°ÜÁ¬½Ó³ØµÄʹÓÃÒâͼ£¬²¢ÇÒÔÚWeb·þÎñÆ÷ºÍÊý¾Ý¿âÉ϶¼Ê©¼ÓÁ˲»±ØÒªµÄ¸ß´ú¼ÛѹÁ¦¡£

¡¡¡¡ÎªÁËÌæ´ú»º´æÊý¾Ý¿âÁ¬½Ó£¬¿ÉÒÔÔÚʹÓÃADOµÄÿ¸öASPÒ³ÃæÖд´½¨²¢ÊÍ·ÅADO¶ÔÏó¡£Õ⽫·Ç³£ÓÐЧ£¬ÒòΪIISÓµÓÐÄÚ½¨µÄÊý¾Ý¿âÁ¬½Ó³Ø¡£¸ü׼ȷµØËµ£¬IIS×Ô¶¯´¦ÀíOLEDBºÍODBCÁ¬½Ó³Ø£¬Õ⽫±£Ö¤ÔÚÿ¸öÒ³Ãæ´´½¨²¢ÇÒÊÍ·ÅÁ¬½ÓµÄ¹¤×÷¸ßЧ½øÐС£

¡¡¡¡ÓÉÓÚÁ¬½ÓµÄ¼Ç¼¼¯´æ´¢ÁËÊý¾Ý¿âÁ¬½ÓµÄ²Î¿¼£¬ËùÒÔ£¬²»ÒªÔÚApplication»òSession¶ÔÏóÖлº´æÁ¬½ÓµÄ¼Ç¼¼¯¡£È»¶ø£¬¿ÉÒÔ°²È«µØ»º´ædisconnectedÀàÐ͵ļǼ¼¯£¬ËüÃDz¢²»±£´æÏàÓ¦Êý¾Ý¿âÁ¬½ÓµÄ²Î¿¼¡£ÎªÁ˶Ͽª¼Ç¼¼¯£¬Ö´ÐÐÏÂÃæ2²½£º
 Set rs = Server.CreateObject("ADODB.RecordSet")
 rs.CursorLocation = adUseClient  step 1

  Populate the recordset with data
 rs.Open strQuery, strProv

  Now disconnect the recordset from the data provider and data source
 rs.ActiveConnection = Nothing  step 2
¡¡¡¡¸ü¶àµÄ¹ØÓÚÁ¬½Ó³ØµÄÐÅÏ¢Çë·ÃÎÊ ADO and SQL Server¡£


¡¾·¢±íÆÀÂÛ¡¿¡¾¹Ø±Õ´°¿Ú¡¿


.FrontPage´´½¨HTML£¯ASP»ìºÏÒ³Ãæ¢ñ
.ÈçºÎÔöÇ¿ASP³ÌÐòÐÔÄÜ(4)
.ÈçºÎÔöÇ¿ASP³ÌÐòÐÔÄÜ(3)
.ÈçºÎÔöÇ¿ASP³ÌÐòÐÔÄÜ(2)
.ÔÚASPÖÐÓá°VBScript5¡±±àдCOM×é¼þ
.ASPÖмòÒ×Óû§·ÃÎÊ¿ØÖÆ
.ÔÚASPÖÐʹÓÃCDO·¢ËÍÓʼþ