<?xml version="1.0" encoding="GBK" ?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dcterms="http://purl.org/dc/terms/">
 <channel>
  	  <title><![CDATA[一路人间]]></title>
	  <link>http://meng.zs.blog.163.com</link>
	  <description><![CDATA[八千里路云飞扬，古道瘦马几彷徨。一杯美酒今生醉，不叫愁伤入梦乡。 ]]></description>
	  <language>zh-CN</language>
	  <pubDate>Sat, 5 Jul 2008 10:45:22 +0800</pubDate>
	  <lastBuildDate>Sat, 5 Jul 2008 10:45:22 +0800</lastBuildDate>
	  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
	  <generator><![CDATA[NetEase Space]]></generator>
	  <managingEditor><![CDATA[meng.zs]]></managingEditor>
	  <webMaster><![CDATA[箫寒]]></webMaster>
		  <ttl>120</ttl>
	  <image>
	  	<title><![CDATA[一路人间]]></title>
	  	<url>http://ava.blog.163.com/photo/hD5AGfeAqAneRE50oZ7ENw==/4276449321165157644.jpg</url>
	  	<link>http://meng.zs.blog.163.com</link>
	  </image>
  <item>
  	<title><![CDATA[ASP中时间函数的使用]]></title>	
    <link>http://meng.zs.blog.163.com/blog/static/29424172200791684532900</link>
    <description><![CDATA[<div><P>&nbsp;</P>
<P><STRONG>Date 函数</STRONG><BR>描述:返回当前系统日期。<BR>语法:Date</P>
<P><STRONG>DateAdd 函数</STRONG><BR>描述:返回已添加指定时间间隔的日期。 <BR>语法:DateAdd(interval, number, date)<BR>interval: 必选。字符串表达式，表示要添加的时间间隔。有关数值，请参阅“设置”部分。 <BR>number: 必选。数值表达式，表示要添加的时间间隔的个数。数值表达式可以是正数（得到未来的日期）或负数（得到过去的日期）。 <BR>date: 必选。Variant 或要添加 interval 的表示日期的文字。&nbsp; <BR>interval 参数可以有以下值：<BR>yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)<BR>说明:可用 DateAdd 函数从日期中添加或减去指定时间间隔。例如可以使用 DateAdd 从当天算起 30 天以后的日期或从现在算起 45 分钟以后的时间。要向 date 添加以“日”为单位的时间间隔，可以使用“一年的日数”（“y”）、“日”（“d”）或“一周的日数”（“w”）。<BR>DateAdd 函数不会返回无效日期。如下示例将 95 年 1 月 31 日加上一个月：<BR>NewDate = DateAdd("m", 1, "31-Jan-95")<BR>在这个例子中，DateAdd 返回 95 年 2 月 28 日，而不是 95 年 2 月 31 日。如果 date 为 96 年 1 月 31 日，则返回 96 年 2 月 29 日，这是因为 1996 是闰年。<BR>如果计算的日期是在公元 100 年之前则会产生错误。<BR>如果 number 不是 Long 型值，则在计算前四舍五入为最接近的整数。 </P>
<P><STRONG>DateDiff 函数<BR></STRONG>描述:返回两个日期之间的时间间隔。 <BR>语法:DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear&gt;)<BR>interval: 必选。字符串表达式，表示用于计算 date1 和 date2 之间的时间间隔。有关数值，请参阅“设置”部分。 <BR>date1, date2: 必选。日期表达式。用于计算的两个日期。 <BR>firstdayofweek: 可选。指定星期中第一天的常数。如果没有指定，则默认为星期日。有关数值，请参阅“设置”部分。 <BR>firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定，则默认为 1 月 1 日所在的星期。有关数值，请参阅“设置”部分。 <BR>interval 参数可以有以下值：<BR>yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)<BR>firstdayofweek 参数可以有以下值：<BR>(以下分别为：常数 值 描述)<BR>vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 <BR>vbSunday 1 星期日（默认） <BR>vbMonday 2 星期一 <BR>vbTuesday 3 星期二 <BR>vbWednesday 4 星期三 <BR>vbThursday 5 星期四 <BR>vbFriday 6 星期五 <BR>vbSaturday 7 星期六 <BR>firstweekofyear 参数可以有以下值：<BR>(以下分别为：常数 值 描述)<BR>vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 <BR>vbFirstJan1 1 由 1 月 1 日所在的星期开始（默认）。 <BR>vbFirstFourDays 2 由在新年中至少有四天的第一周开始。 <BR>vbFirstFullWeek 3 由在新的一年中第一个完整的周开始。 <BR>说明:DateDiff 函数用于判断在两个日期之间存在的指定时间间隔的数目。例如可以使用 DateDiff 计算两个日期相差的天数，或者当天到当年最后一天之间的星期数。<BR>要计算 date1 和 date2 相差的天数，可以使用“一年的日数”（“y”）或“日”（“d”）。当 interval 为“一周的日数”（“w”）时，DateDiff 返回两个日期之间的星期数。如果 date1 是星期一，则 DateDiff 计算到 date2 之前星期一的数目。此结果包含 date2 而不包含 date1。如果 interval 是“周”（“ww”），则 DateDiff 函数返回日历表中两个日期之间的星期数。函数计算 date1 和 date2 之间星期日的数目。如果 date2 是星期日，DateDiff 将计算 date2，但即使 date1 是星期日，也不会计算 date1。<BR>如果 date1 晚于 date2，则 DateDiff 函数返回负数。<BR>firstdayofweek 参数会对使用“w”和“ww”间隔符号的计算产生影响。<BR>如果 date1 或 date2 是日期文字，则指定的年度会成为日期的固定部分。但是如果 date1 或 date2 被包括在引号 (" ") 中并且省略年份，则在代码中每次计算 date1 或 date2 表达式时，将插入当前年份。这样就可以编写适用于不同年份的程序代码。<BR>在 interval 为“年”（“yyyy”）时，比较 12 月 31 日和来年的 1 月 1 日，虽然实际上只相差一天，DateDiff 返回 1 表示相差一个年份。 </P>
<P><STRONG>DatePart 函数</STRONG><BR>描述:返回给定日期的指定部分。<BR>语法:DatePart(interval, date[, firstdayofweek[, firstweekofyear&gt;)<BR>DatePart: 函数的语法有以下参数：<BR>interval: 必选。字符串表达式，表示要返回的时间间隔。有关数值，请参阅“设置”部分。 <BR>date: 必选。要计算的日期表达式。 <BR>firstdayof week: 可选。指定星期中的第一天的常数。如果没有指定，则默认为星期日。有关数值，请参阅“设置”部分。 <BR>firstweekofyear: 可选。指定一年中第一周的常数。如果没有指定，则默认为 1 月 1 日所在的星期。有关数值，请参阅“设置”部分。 <BR>interval 参数可以有以下值：<BR>yyyy (年) 、q (季度) 、m (月) 、y (一年的日数) 、d (日) 、w (一周的日数) 、ww (周) 、h (小时) 、n (分钟) 、s (秒)<BR>firstdayofweek 参数可以有以下值：<BR>(以下分别为：常数 值 描述)<BR>vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 <BR>vbSunday 1 星期日（默认） <BR>vbMonday 2 星期一 <BR>vbTuesday 3 星期二 <BR>vbWednesday 4 星期三 <BR>vbThursday 5 星期四 <BR>vbFriday 6 星期五 <BR>vbSaturday 7 星期六 <BR>firstweekofyear 参数可以有以下值：<BR>(以下分别为：常数 值 描述)<BR>vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 <BR>vbFirstJan1 1 由 1 月 1 日所在的星期开始（默认）。 <BR>vbFirstFourDays 2 由在新年中至少有四天的第一周开始。 <BR>vbFirstFullWeek 3 由在新的一年中第一个完整的周（不跨年度）开始。 <BR>说明:DatePart 函数用于计算日期并返回指定的时间间隔。例如使用 DatePart 计算某一天是星期几或当前的时间。<BR>firstdayofweek 参数会影响使用“w”和“ww”间隔符号的计算。<BR>如果 date 是日期文字，则指定的年度会成为日期的固定部分。但是如果 date 被包含在引号 (" ") 中，并且省略年份，则在代码中每次计算 date 表达式时，将插入当前年份。这样就可以编写适用于不同年份的程序代码。 <BR><STRONG><BR>DateSerial 函数</STRONG><BR>描述:对于指定的年、月、日，返回 Date 子类型的 Variant。<BR>语法:DateSerial(year, month, day)<BR>year: 从 100 到 9999 之间的数字或数值表达式。 <BR>month: 任意数值表达式。 <BR>day: 任意数值表达式。 <BR>说明:要指定日期，如 1991 年 12 月 31 日，DateSerial 函数中每个参数的取值范围都应该是可接受的；即日的取值应在 1 和 31 之间，月的取值应在 1 和 12 之间。但是，也可以使用表示某日之前或之后的年、月、日数目的数值表达式为每个参数指定相对日期。<BR>以下样例中使用了数值表达式代替绝对日期。在这里，DateSerial 函数返回 1990 年 8 月 1 日之前十年 (1990 - 10) 零两个月 (8 - 2) 又一天 (1 - 1) 的日期：即 1980 年 5 月 31 日。<BR>DateSerial(1990 - 10, 8 - 2, 1 - 1)<BR>对于 year 参数，若取值范围是从 0 到 99，则被解释为 1900 到 1999 年。对于此范围之外的 year 参数，则使用四位数字表示年份（例如 1800 年）。<BR>当任何一个参数的取值超出可接受的范围时，则会适当地进位到下一个较大的时间单位。例如，如果指定了 35 天，则这个天数被解释成一个月加上多出来的日数，多出来的日数取决于其年份和月份。但是如果参数值超出 -32,768 到 32,767 的范围，或者由三个参数指定（无论是直接还是通过表达式指定）的日期超出了可以接受的日期范围，就会发生错误。</P>
<P><STRONG>DateValue 函数</STRONG><BR>描述:返回 Date 子类型的 Variant。<BR>语法:DateValue(date)<BR>date 参数应是字符串表达式，表示从 100 年 1 月 1 日到 9999 年 12 月 31 日中的一个日期。但是，date 也可以是表示上述范围内的日期、时间或日期时间混合的任意表达式。<BR>说明:如果 date 参数包含时间信息，则 DateValue 不会返回时间信息。但是如果 date 包含无效的时间信息（如 "89:98"），就会出现错误。<BR>如果 date 是某一字符串，其中仅包含由有效的日期分隔符分隔开的数字，则 DateValue 将会根据为系统指定的短日期格式识别月、日和年的顺序。DateValue 还会识别包含月份名称（无论是全名还是缩写）的明确日期。例如，除了能够识别 12/30/1991 和 12/30/91 之外，DateValue 还能识别 December 30, 1991 和 Dec 30, 1991。<BR>如果省略了 date 的年份部分，DateValue 将使用计算机系统日期中的当前年份。</P>
<P><STRONG>Day 函数</STRONG><BR>描述:返回 1 到 31 之间的一个整数（包括 1 和31），代表某月中的一天。<BR>语法:Day(date)<BR>date 参数是任意可以代表日期的表达式。如果 date 参数中包含 Null，则返回 Null。</P>
<P><STRONG>FormatDateTime 函数</STRONG><BR>描述:返回表达式，此表达式已被格式化为日期或时间。 <BR>语法:FormatDateTime(Date[,NamedFormat])<BR>Date: 必选。要被格式化的日期表达式。 <BR>NamedFormat: 可选。指示所使用的日期/时间格式的数值，如果省略，则使用 vbGeneralDate。 <BR>NamedFormat 参数可以有以下值：<BR>(以下分别为：常数 值 描述)<BR>vbGeneralDate 0 显示日期和/或时间。如果有日期部分，则将该部分显示为短日期格式。如果有时间部分，则将该部分显示为长时间格式。如果都存在，则显示所有部分。&nbsp; <BR>vbLongDate 1 使用计算机区域设置中指定的长日期格式显示日期。 <BR>vbShortDate 2 使用计算机区域设置中指定的短日期格式显示日期。 <BR>vbLongTime 3 使用计算机区域设置中指定的时间格式显示时间。 <BR>vbShortTime 4 使用 24 小时格式 (hh:mm) 显示时间。 </P>
<P><STRONG>Hour 函数</STRONG><BR>描述:返回 0 到 23 之间的一个整数（包括 0 和 23），代表一天中的某一小时。<BR>语法:Hour(time)<BR>time 参数是任意可以代表时间的表达式。如果 time 参数中包含 Null，则返回 Null。</P>
<P><STRONG>Minute 函数<BR></STRONG>描述:返回 0 到 59 之间的一个整数（包括 0 和59），代表一小时内的某一分钟。<BR>语法:Minute(time)<BR>time 参数是任意可以代表时间的表达式。如果 time 参数包含 Null，则返回 Null。</P>
<P><STRONG>Month 函数<BR></STRONG>描述:返回 1 到 12 之间的一个整数（包括 1 和 12），代表一年中的某月。<BR>语法:Month(date)<BR>date 参数是任意可以代表日期的表达式。如果 date 参数中包含 Null，则返回 Null。</P>
<P><STRONG>MonthName 函数</STRONG><BR>描述:返回表明指定月份的字符串。<BR>语法:MonthName(month[, abbreviate])<BR>month: 必选。月份的数值定义。例如，一月是 1，二月是 2，以此类推。 <BR>abbreviate: 可选。Boolean 值，表明月份名称是否简写。如果省略，默认值为 False，即不简写月份名称。 </P>
<P><STRONG>Now 函数</STRONG><BR>描述:根据计算机系统设定的日期和时间返回当前的日期和时间值。<BR>语法:Now</P>
<P><STRONG>Second 函数</STRONG><BR>描述:返回 0 到 59 之间的一个整数（包括 1 和 59），代表一分钟内的某一秒。<BR>语法:Second(time)<BR>time 参数是任意可以代表时间的表达式。如果 time 参数中包含 Null，则返回 Null。</P>
<P><STRONG>Time 函数<BR></STRONG>描述:返回 Date 子类型 Variant，指示当前系统时间。<BR>语法:Time</P>
<P><STRONG>TimeSerial 函数</STRONG><BR>描述:返回一个 Date 子类型的 Variant，含有指定时、分、秒的时间。<BR>语法:TimeSerial(hour, minute, second)<BR>hour: 其值为从 0 (12:00 A.M.) 到 23 (11:00 P.M.) 的数值或数值表达式。 <BR>minute: 任意数值表达式。 <BR>second: 任意数值表达式。 <BR>说明:要指定一时刻，如 11:59:59，TimeSerial 的参数取值应在可接受的范围内；也就是说，小时应介于 0-23 之间，分和秒应介于 0-59 之间。但是，可以使用数值表达式为每个参数指定相对时间，这一表达式代表某时刻之前或之后的时、分或秒数。以下样例中使用了表达式代替绝对时间数。TimeSerial 函数返回中午之前六小时 (12 - 6) 十五分钟的时间 (-15)，即 5:45:00 A.M.。 <BR>TimeSerial(12 - 6, -15, 0)<BR>当任何一个参数的取值超出可接受的范围时，它会正确地进位到下一个较大的时间单位中。例如，如果指定了 75 分钟，则这个时间被解释成一小时十五分钟。但是，如果任何一个参数值超出 -32768 到 32767 的范围，就会导致错误。如果使用三个参数直接指定的时间或通过表达式计算出的时间超出可接受的日期范围，也会导致错误。</P>
<P><STRONG>TimeValue 函数<BR></STRONG>描述:返回包含时间的 Date 子类型的 Variant。<BR>语法:TimeValue(time)<BR>time 参数通常是代表从 0:00:00 (12:00:00 A.M.) 到 23:59:59 (11:59:59 P.M.) 的字符串表达式（包括 0:00:00 和 23:59:59）。不过，time 也可以是代表该范围内任何时间的表达式。如果 time 参数包含 Null，则返回 Null。<BR>说明:可以采用 12 或 24 小时时钟格式输入时间。例如 "2:24PM" 和 "14:24" 都是有效的 time 参数。<BR>如果 time 参数包含日期信息， TimeValue 函数并不返回日期信息。然而，如果 time 参数包含无效的日期信息，则会出现错误。</P>
<P><STRONG>Weekday 函数</STRONG><BR>描述:返回代表一星期中某天的整数。<BR>语法:Weekday(date, [firstdayofweek])<BR>date: 可以代表日期的任意表达式。如果 date 参数中包含 Null，则返回 Null。 <BR>firstdayofweek: 指定星期中第一天的常数。如果省略，默认使用 vbSunday。 <BR>firstdayofweek 参数有如下设置：<BR>(以下分别为：常数 值 描述)<BR>vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 <BR>vbSunday 1 星期日 <BR>vbMonday 2 星期一 <BR>vbTuesday 3 星期二 <BR>vbWednesday 4 星期三 <BR>vbThursday 5 星期四 <BR>vbFriday 6 星期五 <BR>vbSaturday 7 星期六 <BR>Weekday 函数返回如下值：<BR>(以下分别为：常数 值 描述)<BR>vbSunday 1 星期日 <BR>vbMonday 2 星期一 <BR>vbTuesday 3 星期二 <BR>vbWednesday 4 星期三 <BR>vbThursday 5 星期四 <BR>vbFriday 6 星期五 <BR>vbSaturday 7 星期六 </P>
<P><STRONG>WeekdayName 函数</STRONG><BR>描述:返回一个字符串，表示星期中指定的某一天。<BR>语法:WeekDayName(weekday, abbreviate, firstdayofweek)<BR>weekday: 必选。星期中某天的数值定义。各天的数值定义取决于 firstdayofweek 参数设置。 <BR>abbreviate: 可选。Boolean 值，指明是否缩写表示星期各天的名称。如果省略， 默认值为 False，即不缩写星期各天的名称。 <BR>firstdayofweek: 可选。指明星期第一天的数值。关于数值，请参阅“设置”部分。 <BR>firstdayofweek 参数有以下值：<BR>(以下分别为：常数 值 描述)<BR>vbUseSystem 0 使用区域语言支持 (NLS) API 设置。 <BR>vbSunday 1 星期日（默认） <BR>vbMonday 2 星期一 <BR>vbTuesday 3 星期二 <BR>vbWednesday 4 星期三 <BR>vbThursday 5 星期四 <BR>vbFriday 6 星期五 <BR>vbSaturday 7 星期六 </P>
<P><STRONG>Year 函数</STRONG><BR>描述:返回一个代表某年的整数。<BR>语法:Year(date)<BR>date 参数是任意可以代表日期的参数。如果 date 参数中包含 Null，则返回 Null。</P></div>]]></description>
	    <author><![CDATA[箫寒]]></author>
	    <comments>http://meng.zs.blog.163.com/blog/static/29424172200791684532900</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://meng.zs.blog.163.com/blog/static/29424172200791684532900</guid>
    <pubDate>Tue, 16 Oct 2007 08:45:32 +0800</pubDate>
    <dcterms:modified>2007-10-16T08:49:39+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[Asp应用基础一]]></title>	
    <link>http://meng.zs.blog.163.com/blog/static/29424172200791683854433</link>
    <description><![CDATA[<div><P><BR>一、Asp基本知识</P>
<P>1．Asp是Active Server Pages的简称，是解释型的脚本语言环境；<BR>2．Asp的运行需要Windows操作系统，9x下需要安装PWS；而NT/2000/XP则需要安装Internet Information Server（简称IIS）；<BR>3．Asp和JSP的脚本标签是“&lt;%%&gt;”，PHP的则可以设定为多种；<BR>4．Asp的注释符号是“'”；<BR>5.使用附加组件，可以扩展Asp的功能。<BR>from www。11111。com</P>
<P>例子：</P>
<P>HelloWorld_1.asp<BR>&lt;%="Hello,world"%&gt;</P>
<P>效果：<BR>Hello,world</P>
<P><BR>HelloWorld_2.asp<BR>&lt;%<BR>for i=1 to 10<BR>response.write "Hello,world"<BR>next<BR>%&gt;</P>
<P>效果：<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world<BR>Hello,world</P>
<P>注意：Asp不区分大小写；变量无需定义也可使用，转换方便；语法检查很松。</P>
<P><BR>二、Asp内置对象的使用：</P>
<P>可以使用下面的任何ASP内置对象，而不必在ASP脚本中特别声明。</P>
<P>1．&nbsp;&nbsp;&nbsp; Request：</P>
<P>定义：可用来访问从浏览器发送到服务器的请求信息，可用此对象读取已输入HTML表单的信息。</P>
<P>集：<BR>Cookies：含有浏览器cookies的值<BR>Form：含有HTML表单域中的值<BR>QueryString：含有查询字符串的值<BR>ServerVariables：含有头和环境变量中的值</P>
<P>例子：</P>
<P>request_url.asp<BR>&lt;%<BR>'获取用户输入，并存入变量<BR>user_id=request.querystring("user_id")<BR>user_name=request.querystring("user_name")</P>
<P>'判断用户输入是否正确<BR>if user_id="" then<BR>response.write "User_id is null,please check it"<BR>response.end<BR>end if<BR>if user_name="" then<BR>response.write "User_name is null,please check it"<BR>response.end<BR>end if</P>
<P>'打印变量<BR>response.write user_id&amp;"&lt;br&gt;"<BR>response.write user_name<BR>%&gt;</P>
<P>效果：<BR>当访问request_url.asp?user_name=j时：<BR>User_id is null,please check it<BR>当访问request_url.asp?user_name=j&amp;;user_id=my_id时：<BR>my_id<BR>j</P>
<P>思考：变量是如何在URL中传递和被Asp页面获取的？</P>
<P><BR>request_form.htm<BR>&lt;style type="text/css"&gt;<BR>&lt;!--<BR>.input {background-color: #FFFFFF; border-bottom: black 1px solid;border-left: black 1px solid; border-right: black 1px solid;border-top: black 1px solid; color: #000000;font-family: Georgia; font-size: 9pt;color: midnightblue;}<BR>a:link {color: #1B629C; text-decoration: none}<BR>a:hover {color: #FF6600; text-decoration: underline}<BR>a:visited {text-decoration: none}<BR>--&gt;<BR>&lt;/style&gt;</P>
<P>&lt;center&gt;<BR>&lt;form name="course" action="request_form.asp" method="post"&gt;<BR>User_id：&lt;input type="text" name="user_id" maxlength="20" class="input"&gt;&lt;br&gt;&lt;br&gt;<BR>User_name：&lt;input type="text" name="user_name" maxlength="30" class="input"&gt;<BR>&lt;/form&gt;<BR>&lt;br&gt;&lt;br&gt;<BR>&lt;a href="javascript :document.course.submit();"&gt; 提 交 &lt;/a&gt;<BR>&lt;/center&gt;</P>
<P>request_form.asp<BR>&lt;%<BR>'获取用户输入，并存入变量<BR>user_id=request.form("user_id")<BR>user_name=request.form("user_name")</P>
<P>'判断用户输入是否正确<BR>if user_id="" then<BR>response.write "User_id is null,please check it"<BR>response.end<BR>end if<BR>if user_name="" then<BR>response.write "User_name is null,please check it"<BR>response.end<BR>end if</P>
<P>'打印变量<BR>response.write user_id&amp;"&lt;br&gt;"<BR>response.write user_name<BR>%&gt;</P>
<P>注意：form的action的指向，request_form.asp和request_url.asp在源代码上的区别？</P>
<P>2．&nbsp;&nbsp;&nbsp; Response：</P>
<P>定义：用来向浏览器回发信息，可用此对象从脚本向浏览器发送输出。</P>
<P>集：<BR>Cookies：在浏览器中加入一个cookie</P>
<P>方法：<BR>End：结束脚本的处理<BR>Redirect：将浏览器引导至新页面<BR>Write：向浏览器发送一个字符串</P>
<P>属性：<BR>Buffer：缓存一个ASP<BR>CacheControl：由代理服务器控制缓存<BR>ContentType： 规定响应的内容类型<BR>Expires：浏览器用相对时间控制缓存<BR>ExpiresAbsolute：浏览器用绝对时间控制缓存</P>
<P>例子：</P>
<P>response_redirect.asp<BR>&lt;%<BR>'去google看看吧<BR>response.redirect "http://....."<BR>response.end<BR>%&gt;</P>
<P><BR>response_cookies.asp<BR>&lt;%<BR>'设置和读取cookies<BR>response.cookies("time_now")=now()<BR>response.write request.cookies("time_now")<BR>%&gt;</P>
<P>效果：<BR>当访问response_cookies.asp时：<BR>2002-9-1 16:20:40</P>
<P><BR>response_buffer.asp<BR>&lt;%'response.buffer=true%&gt;<BR>&lt;a href="a"&gt;a&lt;/a&gt;<BR>&lt;%response.redirect "request_form.htm"%&gt;</P>
<P>效果：<BR>①．当关闭IIS的缓冲功能，访问该页面时出错<BR>a <BR>答复对象 错误 'ASP 0156 : 80004005' <BR>头错 <BR>/course/response_buffer.asp，行3 <BR>HTTP 头已经写入到 客户浏览器。任何 HTTP 头的修改必须在写入页内容之前。 <BR>②．当关闭IIS的缓冲功能，去掉文件第一行的注释，则页面重定向成功<BR>③．当打开IIS的缓冲功能，无论是否去掉文件第一行的注释，页面重定向都成功</P>
<P>3．&nbsp;&nbsp;&nbsp; Server</P>
<P>定义：可在服务器上使用不同实体函数，如在时间到达前控制脚本执行的时间。还可用来创建其他对象。</P>
<P>方法：<BR>CreateObject：创建一个对象实例<BR>HTMLEncode：将字符串转化为使用特别的HTML字符<BR>MapPath：把虚拟路径转化成物理路径<BR>URLEncode：把字符串转化成URL编码的<BR>ScriptTimeout：在终止前，一个脚本允许运行的秒数</P>
<P>例子：</P>
<P>server_htmlencode.asp<BR>&lt;%<BR>'html encode<BR>response.write server.htmlencode("a""time_now")<BR>%&gt;</P>
<P>效果：<BR>a"time_now<BR>查看源文件时显示为：a"time_now</P>
<P>思考：为什么不是a""time_now这种效果？源文件是怎么了？</P>
<P><BR>server_mappath.asp<BR>&lt;%<BR>'mappath<BR>response.write server.mappath("server_mappath.asp")<BR>%&gt;</P>
<P>效果：<BR>G:\asp_www\test\course\server_mappath.asp</P>
<P>思考：如何获取站点根目录的实际路径？如何获取某个目录的实际路径？</P>
<P><BR>server_urlencode.asp<BR>&lt;%<BR>'url encode<BR>response.write server.urlencode("a\time_now")<BR>%&gt;</P>
<P>效果：<BR>a%5Ctime%5Fnow</P>
<P>4．&nbsp;&nbsp;&nbsp; Application</P>
<P>定义：用来存储、读取用户共享的应用程序信息，如可以用此对象在网站的用户间传送信息，当服务器重启后信息丢失。</P>
<P>方法：<BR>Lock：防止其它用户访问Application集<BR>Unlock：使其它用户可以访问Application集</P>
<P>事件：<BR>OnEnd：由终止网络服务器、改变Global.asa文件触发<BR>OnStart：由应用程序中对网页的第一次申请触发</P>
<P>例子：</P>
<P>application_counter.asp<BR>&lt;%<BR>'一个使用Application制作的简单计数器<BR>Application.lock<BR>Application("clicks")=Application("clicks")+1<BR>Application.unlock</P>
<P>response.write "您是本站第 "&amp;Application("clicks")&amp;" 位访客！"<BR>response.write "&lt;br&gt;&lt;br&gt;您来自 "&amp;request.servervariables("remote_addr")<BR>%&gt;</P>
<P>效果：<BR>您是本站第 1 位访客！</P>
<P>您来自 10.1.43.238</P>
<P>思考：本例中lock和unlock有何作用？</P>
<P>5．&nbsp;&nbsp;&nbsp; Session</P>
<P>定义：存储、读取特定用户对话信息，如可存储用户对网站的访问信息，当服务器重启后信息丢失。</P>
<P>方法：<BR>Abandon：处理完当前页面后，结束一个用户会话</P>
<P>属性：<BR>Timeout：用户会话持续时间（分钟数）</P>
<P>事件：<BR>OnEnd：在Session Timeout时间以外，用户不再申请页面触发该事件<BR>OnStart：由用户对网页的第一次申请时触发</P>
<P>例子：</P>
<P>session_counter.asp<BR>&lt;%<BR>'一个使用Session制作的简单计数器<BR>session("clicks")=session("clicks")+1</P>
<P>response.write "您是本站第 "&amp;session("clicks")&amp;" 位访客！"<BR>response.write "&lt;br&gt;&lt;br&gt;您来自 "&amp;request.servervariables("remote_addr")<BR>%&gt;</P>
<P>效果：<BR>您是本站第 1 位访客！</P>
<P>您来自 10.1.43.238</P>
<P>思考：既然session和application都能做到计数，那它们之间有什么区别？如果要做到满100重新开始计数如何实现？</P>
<P>三、使用Asp操作数据库：</P>
<P>1．通过ODBC或者OLE方式连接的区别？</P>
<P>现在有两种连接数据库的方法。一方面，可以用ODBC产生一个连接，这种连接与任何有ODBC驱动器的数据库（即基本上是市场上所有的数据库）兼容；另一方面，可以用原始OLE DB提供商产生一个连接。</P>
<P>该用哪个提供商？尽可能用原始OLE DB提供商，因为它提供了对数据更有效的访问。Microsoft正逐步用OLE DB取代ODBC标准，应该仅仅在没有原始OLE DB提供商时使用ODBC。</P>
<P>⑴．用ODBC方式连接SQL Server：<BR>①．配置ODBC<BR>②．连接代码：<BR>conn_odbc.asp<BR>&lt;%<BR>Set Conn = Server.CreateObject("ADODB.Connection")<BR>'Conn.Open "DSN=course_dsn;UID=course_user;PWD=course_password;DATABASE=course"<BR>Conn.Open "course_dsn","course_user","course_password"<BR>%&gt;<BR>注意：在配置MyDSN时若指定默认数据库为course则上述代码作用想同，否则第二行的连接方式更有灵活性，可以指定连接某个数据库（当然，前提是course_user对这个数据库有操作权限）。</P>
<P>&nbsp;&nbsp;&nbsp; ⑵．用OLE方式连接SQL Server：<BR>&nbsp;&nbsp;&nbsp; conn_ole.asp<BR>&lt;%<BR>Set Conn = Server.CreateObject("ADODB.Connection")<BR>Conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=10.1.43.238,2433; UID=course_user;PWD=course_password;DATABASE=course"<BR>%&gt;</P>
<P>2．操作数据库：Connection和Recordset</P>
<P>联合使用connection和recordset操作数据库，或者只使用connection操作数据库。</P>
<P>例子：</P>
<P>⑴．联合使用connection和recordset操作数据库</P>
<P>use_db_1.asp<BR>&lt;%<BR>Set conn=Server.CreateObject("ADODB.Connection")&nbsp;&nbsp;&nbsp; '创建连接数据库的对象<BR>conn.Open "course_dsn","course_user","course_password"&nbsp;&nbsp;&nbsp; '使用该对象连接数据库<BR>Set rs=Server.CreateObject("ADODB.RecordSet")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '创建记录集对象<BR>rs.Open "select * from user_info",conn,1,1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '使用记录集对象打开数据库<BR>if rs.recordcount&gt;0 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '如果有记录<BR>response.write "User_id&nbsp; User_name&lt;br&gt;"<BR>for i=1 to rs.recordcount&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '循环读取所有纪录<BR>response.write rs("id")&amp;"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "&amp;rs("user_name")&amp;"&lt;br&gt;"<BR>'向浏览器输出纪录的字段<BR>rs.movenext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '指针下移一行<BR>if rs.eof then exit for&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '如果到达记录集底部则退出循环<BR>next<BR>end if<BR>%&gt;</P>
<P>效果：<BR>User_id&nbsp; User_name<BR>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ahyi<BR>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test</P>
<P><BR>⑵．只使用connection操作数据库：</P>
<P>use_db_2.asp<BR>&lt;%<BR>Set conn=Server.CreateObject("ADODB.Connection")&nbsp;&nbsp;&nbsp; '创建连接数据库的对象<BR>conn.Open "course_dsn","course_user","course_password"&nbsp;&nbsp;&nbsp; '使用该对象连接数据库<BR>conn.execute "delete from user_info"<BR>%&gt;</P>
<P>效果：<BR>user_info表中所有数据被删除</P>
<P>思考：两种方式有和区别？各应用于什么场合？</P>
<P>3．如何使用事务处理、存储过程和视图？</P>
<P>⑴．使用存储过程</P>
<P>&nbsp;&nbsp;&nbsp; ①．定义好存储过程</P>
<P>CREATE PROCEDURE [output_1]<BR>@sid int output<BR>AS<BR>set @sid=2</P>
<P>CREATE PROCEDURE [return_1]<BR>(@user_name varchar(40),@password varchar(20))<BR>AS<BR>if exists(select id from user_info where <A href="mailto:user_name=@user_name">user_name=@user_name</A> and <A href="mailto:password=@password">password=@password</A>)<BR>return 1<BR>else<BR>return 0</P>
<P>CREATE PROCEDURE [user_info_1]<BR>(@user_name varchar(40),@password varchar(20))<BR>AS<BR>select id from user_info where <A href="mailto:user_name=@user_name">user_name=@user_name</A> and <A href="mailto:password=@password">password=@password</A></P>
<P>CREATE PROCEDURE [user_info_2]<BR>(@user_name varchar(40),@password varchar(20))<BR>AS<BR>SET XACT_ABORT ON<BR>BEGIN TRANSACTION<BR>delete from user_info where <A href="mailto:user_name=@user_name">user_name=@user_name</A> and <A href="mailto:password=@password">password=@password</A><BR>COMMIT TRANSACTION<BR>SET XACT_ABORT OFF</P>
<P>CREATE PROCEDURE [user_info_3] AS<BR>select * from user_info</P>
<P>&nbsp;&nbsp;&nbsp; ②．在Asp中调用</P>
<P>use_proc.asp<BR>&lt;!-- #include virtual="/adovbs.inc" --&gt;<BR>&lt;%<BR>Set conn=Server.CreateObject("ADODB.Connection")<BR>conn.Open "course_dsn","course_user","course_password"</P>
<P>'使用recordset调用带两个输入参数和返回纪录集的存储过程<BR>'CREATE PROCEDURE [user_info_1]<BR>'(@user_name varchar(40),@password varchar(20))<BR>'AS<BR>'select id from user_info where <A href="mailto:user_name=@user_name">user_name=@user_name</A> and <A href="mailto:password=@password">password=@password</A><BR>response.write "普通的调用方法：&lt;br&gt;"<BR>set rs=server.createobject("adodb.recordset")<BR>sql="user_info_1 '"&amp;request.querystring("user_name")&amp;"','"&amp;request.querystring("password")&amp;"'"<BR>rs.open sql,conn,1,1<BR>response.write rs("id")&amp;"&lt;br&gt;"<BR>rs.close</P>
<P>'使用recordset调用无输入参数，返回纪录集的存储过程，可以使用recordcount等属性<BR>'CREATE PROCEDURE [user_info_3] AS<BR>'select * from user_info<BR>response.write "&lt;br&gt;返回纪录集，可以使用recordcount等属性："<BR>sql="exec user_info_3"<BR>rs.open sql,conn,1,1<BR>for i=1 to rs.recordcount<BR>response.write "&lt;br&gt;"&amp;rs("user_name")<BR>rs.movenext<BR>next<BR>rs.close<BR>set rs=nothing</P>
<P>'使用command调用带输出参数的存储过程<BR>'CREATE PROCEDURE [output_1]<BR><A href="mailto:'@sid">'@sid</A> int output<BR>'AS<BR>'set @sid=2<BR>response.write "&lt;br&gt;&lt;br&gt;调用带输出参数的存储过程：&lt;br&gt;"<BR>set cmd=server.createobject("adodb.command")<BR>cmd.activeconnection=conn<BR>cmd.commandtext = "output_1"<BR>cmd.parameters.append cmd.createparameter("@sid",adinteger,adparamoutput)<BR>cmd("@sid")=10<BR>cmd.execute()<BR>bbb=cmd("@sid")<BR>response.write bbb&amp;"&lt;br&gt;"<BR>set cmd=nothing</P>
<P>'使用command调用带两个输入参数和返回值的存储过程<BR>'CREATE PROCEDURE [return_1]<BR>'(@user_name varchar(40))<BR>'AS<BR>'if exists(select id from user_info where <A href="mailto:user_name=@user_name">user_name=@user_name</A>)<BR>'return 1<BR>'else<BR>'return 0<BR>response.write "&lt;br&gt;调用带两个输入参数和返回值的存储过程：&lt;br&gt;"<BR>set cmd=server.createobject("adodb.command")<BR>cmd.activeconnection=conn<BR>cmd.commandtype = adcmdstoredproc<BR>cmd.commandtext = "return_1"<BR>cmd.parameters.append cmd.createparameter("@return_value",adinteger,adparamreturnvalue)<BR>cmd.parameters.append cmd.createparameter("@user_name",advarchar,adparaminput,40)<BR>cmd.parameters.append cmd.createparameter("@password",advarchar,adparaminput,20)<BR>cmd("@user_name")="tuth"<BR>cmd("@password")="yyuyu"<BR>cmd.execute()<BR>rrr=cmd("@return_value")<BR>response.write rrr<BR>set cmd=nothing</P>
<P>conn.close<BR>set conn=nothing<BR>%&gt;</P>
<P>&nbsp;&nbsp;&nbsp; 效果：<BR>访问use_proc.asp?user_name=ahyi&amp;;password=ttt时，出现如下</P>
<P>普通的调用方法：<BR>12</P>
<P>返回纪录集，可以使用recordcount等属性：<BR>ahyi<BR>tet<BR>tuth</P>
<P>调用带输出参数的存储过程：<BR>2</P>
<P>调用带两个输入参数和返回值的存储过程：<BR>1</P>
<P>注意：若存储过程无参数，则调用的sql语句直接为存储过程名，一个参数为“存储过程名 参数”，若是多个参数，则“存储过程名 参数1，参数2，……，参数n”；如果在sql语句中加入exec，则在返回的记录集中可以使用recordcount等属性；如果想获得存储过程的返回值或输出参数，可以使用command对象。</P>
<P>⑵．使用事务处理</P>
<P>①．Asp内嵌的事务支持</P>
<P>例子：<BR>use_transaction_1.asp<BR>&lt;%<BR>'Asp中使用事务<BR>Set conn=Server.CreateObject("ADODB.Connection")<BR>conn.Open "course_dsn","course_user","course_password"<BR>conn.begintrans&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '开始事务</P>
<P>sql="delete from user_info"<BR>set rs=server.createobject("adodb.recordset")<BR>rs.open sql,conn,3,3<BR>if conn.errors.count&gt;0 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '有错误发生<BR>conn.rollbacktrans&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '回滚<BR>set rs=nothing<BR>conn.close<BR>set conn=nothing<BR>response.write "交易失败，回滚至修改前的状态！"<BR>response.end<BR>else<BR>conn.committrans&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '提交事务<BR>set rs=nothing<BR>conn.close<BR>set conn=nothing<BR>response.write "交易成功！"<BR>response.end<BR>end if<BR>%&gt;</P>
<P>②．数据库级的事务</P>
<P>&nbsp;&nbsp;&nbsp; i．创建存储过程</P>
<P>CREATE PROCEDURE [user_info_2]<BR>(@user_name varchar(40),@password varchar(20))<BR>AS<BR>SET XACT_ABORT ON<BR>BEGIN TRANSACTION<BR>delete from user_info where <A href="mailto:user_name=@user_name">user_name=@user_name</A> and <A href="mailto:password=@password">password=@password</A><BR>COMMIT TRANSACTION<BR>SET XACT_ABORT OFF</P>
<P>&nbsp;&nbsp;&nbsp; ii．在Asp中调用</P>
<P>use_transaction_2.asp<BR>&lt;%<BR>Set conn=Server.CreateObject("ADODB.Connection")<BR>conn.Open "course_dsn","course_user","course_password"</P>
<P>sql="user_info_2 '"&amp;request.querystring("user_name")&amp;"','"&amp;request.querystring("password")&amp;"'"</P>
<P>set rs=server.createobject("adodb.recordset")<BR>rs.open sql,conn,1,1<BR>set rs=nothing<BR>conn.close<BR>set conn=nothing<BR>%&gt;<BR>&nbsp;&nbsp;&nbsp; <BR>讨论：两种方式的优劣？</P>
<P>⑶．使用视图<BR>&nbsp;&nbsp;&nbsp; 在数据库中定义好视图之后，在Asp中如同使用一个表一样来使用视图</P>
<P>4．一个数据库分页的例子</P>
<P>db_page.asp<BR>&lt;%<BR>on error resume next<BR>Set conn=Server.CreateObject("ADODB.Connection")&nbsp;&nbsp;&nbsp; '创建连接数据库的对象<BR>conn.Open "course_dsn","course_user","course_password"&nbsp;&nbsp;&nbsp; '使用该对象连接数据库<BR>set rs=server.createObject("adodb.recordset")<BR>sql="select * from user_info order by id desc"<BR>rs.open sql,conn,1,1</P>
<P>if rs.recordcount&gt;0 then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '如果有记录<BR>&nbsp;&nbsp;&nbsp; rs.pagesize=2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '每页最多显示2条纪录<BR>&nbsp;&nbsp;&nbsp; '从URL获取当前要显示的页<BR>&nbsp;&nbsp;&nbsp; page=cint(request("page"))<BR>&nbsp;&nbsp;&nbsp; '页面参数异常处理<BR>&nbsp;&nbsp;&nbsp; if page="" then page=1<BR>&nbsp;&nbsp;&nbsp; if page&lt;1 then page=1<BR>&nbsp;&nbsp;&nbsp; if page&gt;= rs.pagecount then page=rs.pagecount<BR>&nbsp;&nbsp;&nbsp; rs.absolutepage=page&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '当前页为page参数指定的页<BR>&nbsp;&nbsp;&nbsp; for i=1 to rs.pagesize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '根据pagesize参数的大小循环显示当前页中的纪录<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.write "User_id："&amp;rs("id")&amp;"&lt;br&gt;"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; response.write "User_name："&amp;rs("user_name")&amp;"&lt;br&gt;&lt;br&gt;"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rs.movenext&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; '纪录指针下移<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if rs.eof then exit for&nbsp;&nbsp;&nbsp; '如果到达纪录集底部则退出循环<BR>&nbsp;&nbsp;&nbsp; next<BR>end if</P>
<P>'显示翻页按钮<BR>if page&gt;1 then<BR>&nbsp;&nbsp;&nbsp; response.write "&lt;a href="&amp;request.servervariables("document_name")&amp;"?page=1&gt;第一页&lt;/a&gt;　"<BR>&nbsp;&nbsp;&nbsp; response.write "&lt;a href="&amp;request.servervariables("document_name")&amp;"?page="&amp;(page-1)&amp;"&gt;上一页&lt;/a&gt;　" <BR>end if<BR>if page&lt;&gt;rs.pagecount then<BR>&nbsp;&nbsp;&nbsp; response.write "&lt;a href="&amp;request.servervariables("document_name")&amp;"?page="&amp;(page+1)&amp;"&gt;下一页&lt;/a&gt;　" <BR>&nbsp;&nbsp;&nbsp; response.write "&lt;a href="&amp;request.servervariables("document_name")&amp;"?page="&amp;rs.pagecount&amp;"&gt;最后一页&lt;/a&gt;　" <BR>end if<BR>response.write"页码："&amp;page&amp;"/"&amp;rs.pagecount</P>
<P>'关闭对象，释放内存<BR>rs.close<BR>set rs=nothing<BR>conn.close<BR>set conn=nothing<BR>%&gt; </P></div>]]></description>
	    <author><![CDATA[箫寒]]></author>
	    <comments>http://meng.zs.blog.163.com/blog/static/29424172200791683854433</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://meng.zs.blog.163.com/blog/static/29424172200791683854433</guid>
    <pubDate>Tue, 16 Oct 2007 08:38:54 +0800</pubDate>
    <dcterms:modified>2007-10-16T08:38:54+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[我的密友]]></title>	
    <link></link>
    <description><![CDATA[<div>
			<a href="http://rh41.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/5MIHTog0bRtu801Ecb8ZjA==/172262685747346459.jpg" border="0" />shice</a>
			<a href="http://ldz3820.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/cENAa2Ztug1bPL6GITBlVQ==/178455135234952537.jpg" border="0" />巴蜀懦夫</a>
			<a href="http://lzh26211521.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/lHsjttHBw_GAfzIv-HzPCw==/1764566628999234680.jpg" border="0" />不老松</a>
			<a href="http://gs359083.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/vuhDP6kHT2SnD3OlDvTyaA==/180143985094925365.jpg" border="0" />石山</a>
			<a href="http://meng.zq.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/lAvx5k5Lhj0OfLxtFlGCwg==/424464264881983526.jpg" border="0" />泽琦</a>
			<a href="http://blog.163.com/gs807@126/" target="_blank"><img src="http://ava.blog.163.com/photo/uA6MXS2GUageHx0LXWZ_kg==/182958734862047511.jpg" border="0" />中外古申</a>
			<a href="http://gaoyacong88888.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/f_JK-lzSkhXhmELdhp8OBw==/436004738926210346.jpg" border="0" />青山</a>
			<a href="http://bjz9268.blog.163.com/" target="_blank"><img src="http://ava.blog.163.com/photo/zOdElEZmGiaBuafcJf9AHw==/464433711572919843.jpg" border="0" />孤云野鹤</a>
</div>]]></description>
    <guid isPermaLink="false">http://meng.zs.blog.163.com/friends</guid>
    <pubDate>Tue, 1 Jan 2008 00:00:00 +0800</pubDate>
    <dcterms:modified>2008-01-01T00:00:00+08:00</dcterms:modified>
  </item>    
 </channel>
</rss>