﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-elva-随笔分类-ASP</title><link>http://www.cppblog.com/elva/category/4362.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 19 May 2008 16:50:44 GMT</lastBuildDate><pubDate>Mon, 19 May 2008 16:50:44 GMT</pubDate><ttl>60</ttl><item><title>asp 操作access数据库日期比较总结</title><link>http://www.cppblog.com/elva/archive/2007/11/17/36789.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Sat, 17 Nov 2007 06:03:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/11/17/36789.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/36789.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/11/17/36789.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/36789.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/36789.html</trackback:ping><description><![CDATA[<p><font face=Verdana>13.5.1 列出某一天, 上一星期的数据 <br>SELECT distinct dateandtime <br>FROM ctdate_by_query_date <br>WHERE dateandtime between ((#2006-5-15#+(Weekday(2006-5-15)-7))-6) and (#2006-5-15#-7)+Weekday(2006-5-15) <br>sql="SELECT distinct dateandtime FROM ctarticle WHERE dateandtime between ((#"&amp;date&amp;"#+(Weekday("&amp;date&amp;")"&amp;norp&amp;"7))-6) and (#"&amp;date&amp;"#"&amp;norp&amp;"7)+Weekday("&amp;date&amp;")" <br>13.5 查询一天, 所隶属星期所有天数的数据 <br>SELECT * <br>FROM ctdate_by_query_date <br>WHERE dateandtime between ((#2006-5-15#+Weekday(2006-5-15))-6) and #2006-5-15#+Weekday(2006-5-15) <br>13.4 查询一个时间段 <br>SELECT * <br>FROM ctdate_by_query_date <br>WHERE dateandtime between #2006-5-1# and #2006-5-30# <br>13.3.2 列出不同年份的年份, 并且不要相同 <br>select distinct year(dateandtime) from ctarticle <br>结果如:&nbsp; <br>Expr1000 <br>2000 <br>2003 <br>2004 <br>2005 <br>2006 <br>13.3.1 列出某一天, 上一年的第一条记录 <br>SELECT top 1 dateandtime FROM ctarticle where year(dateandtime)=(2006)-1 <br>sql="SELECT top 1 dateandtime FROM ctarticle where year(dateandtime)=(year(#"&amp;date&amp;"#))"&amp;norp <br>13.3 列出某一年的数据 <br>sql="select * from ctdate_by_query_date where year(dateandtime)="&amp;year(rqqdt_)&amp;" order by dateandtime desc" <br>13.2.1 查找上一月中的第一条记录 <br>SELECT top 1 dateandtime FROM ctarticle where year(dateandtime)=year(#2006-5-28#) and&nbsp; month(dateandtime)=month(#2006-5-28#)-1 <br>13.2 列出某一月的数据 <br>sql="select * from ctdate_by_query_date where year(dateandtime)="&amp;year(rqqdt_)&amp;" and month(dateandtime)="&amp;month(rqqdt_)&amp;" order by dateandtime desc" <br>13.1 列出某一日的数据 <br>sql="select * from ctdate_by_query_date where dateandtime=#"&amp;rqqdt_&amp;"# order by a.articleid desc" <br>13. 时间日期 <br>例一: 列出当天的数据 <br>sql="select * from ctdate_by_query_date where dateandtime=date() order by a.articleid desc" </font></p>
<img src ="http://www.cppblog.com/elva/aggbug/36789.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-11-17 14:03 <a href="http://www.cppblog.com/elva/archive/2007/11/17/36789.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP调用WEBSERVICE时错误:Connector 错误 '800a1527'</title><link>http://www.cppblog.com/elva/archive/2007/09/21/32630.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Fri, 21 Sep 2007 08:09:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/09/21/32630.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/32630.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/09/21/32630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/32630.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/32630.html</trackback:ping><description><![CDATA[返回的错误信息: <br>Microsoft VBScript 编译器错误 错误 '800a03f6' <br><br>缺少 'End' <br><br>/iisHelp/common/500-100.asp，行242 <br><br>Connector 错误 '800a1527' <br><br>Connector:Connection time out. HRESULT=0x800A1527 - Client:An unanticipated error occurred during the processing of this request. HRESULT=0x800A1527 - Client:Sending the Soap message failed or no recognizable response was received HRESULT=0x800A1527 - Client:Unspecified client error. HRESULT=0x800A1527 <br><br>/websocket/testt.asp，行19 <br><br>解决办法:<br><br>出现那个错误之后,网页就返回了,后面的代码不在继续执行,<br>加<br>on error resume next<br>然后<br>if err&lt;&gt;0 then 就行了&nbsp; <br>end if
<img src ="http://www.cppblog.com/elva/aggbug/32630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-09-21 16:09 <a href="http://www.cppblog.com/elva/archive/2007/09/21/32630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>禁用html页面的缓存 </title><link>http://www.cppblog.com/elva/archive/2007/08/10/29685.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Fri, 10 Aug 2007 02:50:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/08/10/29685.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/29685.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/08/10/29685.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/29685.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/29685.html</trackback:ping><description><![CDATA[&lt;META &nbsp; HTTP-EQUIV="PRAGMA" &nbsp; CONTENT="NO-CACHE"&gt;&nbsp;&nbsp; <br><br><br>&lt;meta http-equiv="Cache-control" content="no-cache"&gt;，是不存储网页。一般访问会暂时存储网页下次访问就快。但是对于频繁更新的网站就不要存储，所以用no-cache <br><br><br><br>另：<br>1。在<strong><font color=#800080>Asp</font></strong>页面首部&lt;head&gt;加入 &nbsp; <br>&nbsp; Response.Buffer &nbsp; = &nbsp; True &nbsp; <br>&nbsp; Response.ExpiresAbsolute &nbsp; = &nbsp; Now() &nbsp; - &nbsp; 1 &nbsp; <br>&nbsp; Response.Expires &nbsp; = &nbsp; 0 &nbsp; <br>&nbsp; Response.CacheControl &nbsp; = &nbsp; "no-cache" &nbsp; <br>&nbsp; Response.AddHeader &nbsp; "Pragma", &nbsp; "No-Cache" &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 2。在HtML代码中加入 &nbsp; <br>&nbsp; &lt;HEAD&gt; &nbsp; <br>&nbsp; &lt;META &nbsp; HTTP-EQUIV="Pragma" &nbsp; CONTENT="no-cache"&gt; &nbsp; <br>&nbsp; &lt;META &nbsp; HTTP-EQUIV="Cache-Control" &nbsp; CONTENT="no-cache"&gt; &nbsp; <br>&nbsp; &lt;META &nbsp; HTTP-EQUIV="Expires" &nbsp; CONTENT="0"&gt; &nbsp; <br>&nbsp; &lt;/HEAD&gt; &nbsp; <br>&nbsp; &nbsp; <br>&nbsp; 3。在重新调用原页面的时候在给页面传一个参数 &nbsp; <br>&nbsp; Href="****.asp?<strong><font color=#800080>random()</font></strong>"&nbsp;&nbsp;
<p>前两个方法据说有时会失效，而第三种则是在跳转时传一个随机的参数！ 因为aspx的缓存是与参数相关的，如果参数不同就不会使用缓存，而会重新生成页面，每次都传一个随机的参数就可以避免使用缓存。<font color=#800080><strong>这个仅适用于asp&amp;asp.net<br></strong></font></p>
<p><br>asp的随机数函数：<br>Function rndNum (strLong)<br>Dim temNum<br>Randomize<br>Do While Len(RndNum) &lt; strLong<br>temNum=CStr(Chr((57-48)*rnd+48))<br>RndNum=RndNum&amp;temNum<br>loop<br>End Function<br>参数为需要的随机数长度*2<br><br>4。在jsp页面中可使用如下代码实现无缓存：</p>
<p>response.setHeader("Cache-Control","no-cache"); <strong><font color=#3366ff>//HTTP 1.1</font></strong></p>
<p>response.setHeader("Pragma","no-cache"); <strong><font color=#3366ff>//HTTP 1.0</font></strong></p>
<p>response.setDateHeader ("Expires", 0); <strong><font color=#3366ff>//prevents caching at the proxy server</font></strong></p>
<p>这些代码加在&lt;head&gt; &lt;/head&gt;中间具体如下</p>
<p>&lt;head&gt;</p>
<p>&lt;%</p>
<p>response.setHeader("Cache-Control","no-cache"); <font color=#3366ff><strong>//HTTP 1.1</strong></font></p>
<p>response.setHeader("Pragma","no-cache"); <font color=#3366ff><strong>//HTTP 1.0</strong></font></p>
<p>response.setDateHeader ("Expires", 0); <strong><font color=#3366ff>//prevents caching at the proxy server</font></strong></p>
<p>%&gt;</p>
<p>&lt;/head&gt;</p>
<p>5。window.location.replace("WebForm1.aspx");&nbsp;&nbsp;&nbsp;<br>&nbsp; 参数就是你要覆盖的页面，replace的原理就是用当前页面替换掉replace参数指定的页面。 &nbsp; <br>&nbsp;<font color=#800080><strong> 这样可以防止用户点击back键。使用的是javascript脚本，</strong></font><font size=+0>举例如下：</font></p>
<p>a.html</p>
<p>&lt;html&gt;<br>&nbsp;&nbsp;&nbsp; &lt;head&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;title&gt;a&lt;/title&gt;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script language="javascript"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function jump(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color=#800080><strong> window.location.replace("b.html");<br></strong></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;body&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href="<strong><font color=#800080>javascript:jump()</font></strong>"&gt;b&lt;/a&gt;<br>&nbsp;&nbsp; &lt;/body&gt;<br>&lt;/html&gt;&nbsp; </p>
<p>b.html</p>
<p>&lt;html&gt;<br>&nbsp;&nbsp;&nbsp; &lt;head&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;title&gt;b&lt;/title&gt;&nbsp;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;script language="javascript"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; function jump(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong><font color=#800080>window.location.replace("a.html");</font></strong><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/script&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;body&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;a href="<strong><font color=#800080>javascript:jump()</font></strong>"&gt;a&lt;/a&gt;<br>&nbsp;&nbsp; &lt;/body&gt;<br>&lt;/html&gt;&nbsp; </p>
<p>前4种只是清空了cache，即存储在Temporary Internet Files文件夹中的临时文件，而第五种则是使用跳转页面文件替换当前页面文件，并没有清空cache，也就是说Temporary Internet Files产生了相关的临时文件，两者搭配使用真是清空缓存，必备良药。正好我这里有了记录，所以常来看看哦。</p>
<img src ="http://www.cppblog.com/elva/aggbug/29685.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-08-10 10:50 <a href="http://www.cppblog.com/elva/archive/2007/08/10/29685.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP判断是数字的函数</title><link>http://www.cppblog.com/elva/archive/2007/07/31/29079.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Tue, 31 Jul 2007 07:03:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/07/31/29079.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/29079.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/07/31/29079.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/29079.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/29079.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/07/31/29079.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/29079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-07-31 15:03 <a href="http://www.cppblog.com/elva/archive/2007/07/31/29079.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP入门基础教程-Recordset 对象</title><link>http://www.cppblog.com/elva/archive/2007/07/30/29019.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 30 Jul 2007 08:15:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/07/30/29019.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/29019.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/07/30/29019.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/29019.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/29019.html</trackback:ping><description><![CDATA[一、Recordset 对象简述　　Recordset 对象表示的是来自基本表或命令执行结果的记录全集。在任何情况下，该对象所指的当前记录均为集合内的单条记录。使用 Recordset 对象可以操作来自提供程序的数据，通过该对象几乎可以对所有数据进行操作。所有 Recordset 对象均使用记录（行）和字段（列）进行构造。Recordset 对象实际上是依附于 Connection 对象和 Command 对象之上的。通过建立及开启一个 Connection 对象，可以与我们关心的数据库建立连接；通过使用 Command 对象，则可以告诉数据库我们想要做什么：是插入一条记录，还是查找符合条件的记录；通过使用 Recordset 对象，则可以方便自如地操作 Command 对象返回的结果。<br>　　 二、创建 Recordset 对象<br>　　要使用 Recordset 对象处理结果，首先必须创建 Recordset 对象实例。其格式如下：<br><font face=新宋体>Set RS=Server.CreateObject("adodb.recordset")</font> 　　 三、打开记录集<br><font face=新宋体>RS.Open Source,ActiveConnection,CursorType,LockType,Options</font> 　　所有的参数都是可选项。Source 为 Command 对象变量名、SQL 语句、表名、存储过程调用或持久 Rcordset 文件名。<br>　　ActiveConnection 为有效的 Connection 对象变量名或包含 ConnectionString 字符串。<br>　　LockType 指定打开 Recordset 时应使用的锁定类型。<br>　　Options 指定如何计算 Source 参数或从以前保存 Recordset 的文件中恢复 Recordset。<br>　　 　　四、Recordset 对象的常用属性<br>Recordset 对象的常用属性&lt;表&gt;
<table class=t_table cellSpacing=0 align=center>
    <tbody>
        <tr>
            <td>属　性 </td>
            <td colSpan=4>描　　 述　/　注　解 </td>
        </tr>
        <tr>
            <td>ActiveConnection</td>
            <td colSpan=4>指定与数据提供者的连接信息，用来指定当前的 Recordset 对象属于哪个 Connection 对象。 </td>
        </tr>
        <tr>
            <td>Source</td>
            <td colSpan=4>指定 Recordset 对象的数据源，可以是一个 Command 对象名、SQL 语句、数据库表或存储过程 。 </td>
        </tr>
        <tr>
            <td rowSpan=2>CoursorType</td>
            <td colSpan=4>指定 Recordset 对象所使用的光标类型。 </td>
        </tr>
        <tr>
            <td colSpan=4>共有 4 种光标类型： 　　0 一 前滚光标，光标只能向前移动，执行效率高。是 Cursor 的默认值；<br>　　1 一 键盘光标，光标可向前或向后移动，Recordset 记录集同步反映自它创建后其他用户所作的修改和删除，但却不能同步反映自它创建后其他用户新增加的记录；<br>　　2 一 动态光标，光标可向前或向后滚动，任何时候 Recordset 记录集都同步反映其他用户的任何操作；<br>　　3 一 静态光标，光标可向前或向后移动，自创建后无法同步反映其他用户所做的任何操作，它的功能简单但消耗资源少。<br></td>
        </tr>
        <tr>
            <td rowSpan=2>LockType</td>
            <td colSpan=4>表示编辑时记录的锁定类型。它决定了当不止一个用户试图同时改变一个记录时，Recordset 如何处理数据记录。</td>
        </tr>
        <tr>
            <td colSpan=4>0 一 只读锁定，记录只读，不能更新 Recordset ,为 LockType 的默认值； 　　1 一 悲观锁定，编辑记录开始立刻锁定，直到提交给数据提供者；<br>　　2 一 乐观锁定，一次锁定一条记录，只有调用 Update 方法提交数据时才锁定记录；<br>　　3 一 乐观的批量更新，允许同时更新多条记录。<br></td>
        </tr>
        <tr>
            <td>Filter</td>
            <td colSpan=4>用来设定一个过滤条件，以便对 Recordset 记录进行过滤。 </td>
        </tr>
        <tr>
            <td>CacheSize</td>
            <td colSpan=4>表示一个 Recordset 对象在高速缓存中的记录数。</td>
        </tr>
        <tr>
            <td>Maxrecords</td>
            <td colSpan=4>执行一个 SQL 查询时，返回 Recordset 对象的最大记录数。</td>
        </tr>
        <tr>
            <td>Bof</td>
            <td colSpan=4>判断记录指针是否到了第一条记录之前。</td>
        </tr>
        <tr>
            <td>Eof</td>
            <td colSpan=4>判断记录指针是否到了最后一条记录之后。</td>
        </tr>
        <tr>
            <td>RecordCount</td>
            <td colSpan=4>返回 Recordset 对象的记录数，（在使用键盘光标时，该属怀返回 的可能是不太准确的数值；一般情况下，并不用这种方法来统计 Recordset 中的记录数，因为它的性能并不稳定）</td>
        </tr>
        <tr>
            <td>Bookmark</td>
            <td colSpan=4>书签标记，用来保存当前记录的位置。</td>
        </tr>
        <tr>
            <td>AbsolutePosition</td>
            <td colSpan=4>用来设定 Recordset 对象中当前记录的顺序位置是第几行记录。</td>
        </tr>
        <tr>
            <td>PageSize</td>
            <td colSpan=4>表示 Reccordset 对象的页面大小（每页多少条记录），默认值为10。</td>
        </tr>
        <tr>
            <td>PageCount</td>
            <td colSpan=4>表示 Recordset 对象的页面个数。 </td>
        </tr>
        <tr>
            <td>AbsolutePage</td>
            <td colSpan=4>表示当前记录的页号。</td>
        </tr>
        <tr>
            <td>EditMode</td>
            <td colSpan=4>指示当前记录的编辑状态，0 一 已被编辑；1 一 已被修改而未提交；2 一 存入数据库的新记录 。 </td>
        </tr>
        <tr>
            <td rowSpan=11>Status</td>
            <td colSpan=4>对 Recordset 对象进行批量更新后，查询当前记录的状态。 </td>
        </tr>
        <tr>
            <td>值</td>
            <td>意义描述</td>
            <td>值</td>
            <td>意义描述</td>
        </tr>
        <tr>
            <td>0</td>
            <td>记录更新成功。</td>
            <td>1024</td>
            <td>存在记录锁定，新记录未保存。</td>
        </tr>
        <tr>
            <td>1</td>
            <td>新记录。</td>
            <td>2048</td>
            <td>使用乐观并发事件，未保存。</td>
        </tr>
        <tr>
            <td>2</td>
            <td>记录被删除。</td>
            <td>4096</td>
            <td>用户违反完整性规则，记录未保存。</td>
        </tr>
        <tr>
            <td>4</td>
            <td>记录未被删除。</td>
            <td>8192</td>
            <td>　　很待定修改，记录未保存。<br></td>
        </tr>
        <tr>
            <td>8</td>
            <td>记录未被修改。</td>
            <td>16384</td>
            <td>与一存储对象相冲突，记录未保存。</td>
        </tr>
        <tr>
            <td>16</td>
            <td>书签不合法，记录未保存。</td>
            <td>32768</td>
            <td>内存不够，记录未保存。</td>
        </tr>
        <tr>
            <td>64</td>
            <td>影响多个记录，未保存。</td>
            <td>65536</td>
            <td>用户没有中、足够的权限，未保存。</td>
        </tr>
        <tr>
            <td>128</td>
            <td>指向一待定插入，记录未保存。</td>
            <td>131072</td>
            <td>违反基本数据库原则，记录未保存。</td>
        </tr>
        <tr>
            <td>256</td>
            <td>操作被取消，记录未保存。</td>
            <td>262144</td>
            <td>记录已从数据源删除。</td>
        </tr>
    </tbody>
</table>
<div class=t_msgfont id=message1174>五、Rcordset 对象的方法<br><br>Recordset 对象的方法&lt;表二&gt; 方法 描述 / 格式 / 注解&nbsp;&nbsp;<br>Open 打开一个 Recordset 对象。 <br>Rs.Open[Source][,ActiveConnection][,CursorType][,LursorType][,Option] <br>Rs ：为已经建立的 Recordset 对象； <br>　　Source ：为可选参数，可以是一个 Command 对象名、SQL 语句、数据库表或存储过程；　<br><br>　　ActiveConnection ：定义与数据库的连接信息；<br><br>　　CursorType ：是Recordset 对象所使用的光标类型；<br><br>　　LockTypec 是编辑 Recordset 对象记录时所使用的锁定类型；<br><br>　　Option 指示数据提供者如何处理 Source 的内容类型，其参数值及其意义见下表：<br><br>　　Options值 意义描述 <br>1 表示被执行的字符串包含一个命令文本。 <br>2 表示被执行的字符串包含一个表名。 <br>4 表示被执行的字符串包含一个存储过程名。 <br>8 没有指定字符串的内容（这是默认值） <br><br><br>Close 关闭一个 Recordset 对象。 但并不从内存中删除该对象，只是无法读取其中的数据，但仍然可以读取它的属性。因此一个关闭的 Recordset 对象还可以用 Open 方法打开并保持其原有属性。&nbsp;&nbsp;<br>Rs.Close <br>Rs：为已经建立的 Recordset 对象；如果正进行编辑更新数据的操作，则在使用此方法之前必须先调用 Update 和 CancelUpdate 方法。否则将会出现错误。 <br>Clone 创建一个 Recordset 对象的完全拷贝，但只有所用的 Recordset 对象类型允许使用 Bookmarks时才能使用该方法。 <br>MoveFirst 把 Recordset 指针指向第一行记录。&nbsp;&nbsp;<br>Rs.MoveFirst <br>MoveLast 把 Recordset 指针指向最后一条记录（该 Recordset 必须支持书签）。 <br>Rs.MoveLast <br>MovePrevious 把Recordset 指针上移一行（使用前应判断 BOF 是否为真，该方法必须支持书签）。 <br>Rs.MovePreviors <br>MoveNext 把Recordset 指针下移一行（使用前应判断 EOF 是否为真）。 <br>Rs.MoveNext <br>Move 把Recordset 指针指向指定的记录。 <br>Move n [,start] <br>n 为要移动的记录数，取正时表示向前（下）移动，取负时表示向后（上）移动； <br>　　start 是可选参数，表示移动的起点。 <br><br>GetRows 从一个 Rexordset 对象读取一行或多行记录到一个数组中。 <br>Myarray=Rs.GetRows ( rows,start,fields )&nbsp;&nbsp;<br>Myarray 为目标数组名；Rs 为已创建的 Recordset 对象，Rows 为返回数组的行数；start 为读取数据的起点 （书签）；Fields 为 Recordset 的字段。&nbsp;&nbsp;<br>NextRecordSet 清除当前的 Recordset 并执行下一条指令，以传回下一个 Recordset 对象，如果没有下一条指令，则返回 Nothing 给 Recordset 。 <br>Requery 重新执行 SQL 操作，以更新 Recordset 对象中的数据。 <br>Resync 从数据源更新当前的 Recordset 记录，实现与数据源的同步。 <br>Addnew 增加一条空记录。 <br>Rs.AddNew N <br>增加一条空记录，并将数组中的元素（N）添加到这条空记录中。 <br>Delete 删除当前记录。 <br>Delete [value]&nbsp;&nbsp;<br>如果 value=1(默认值）表示该方法只删除当前记录，value=2 表示该方法删除所有由 Filter 属性设定的记录。&nbsp;&nbsp;<br>Update 保存当前记录的任何变动。 <br>Rs.Update <br>CancelUpdate 取消前一个 Update 方法所做的一切修改。 <br>UpdateBatch Recordset 工作在批量方式时，取消对 Recordset 的更新。 <br>Suports 获取创建的 Recordset 对象的能力信息。 <br>注：使用 Move 、MoveFirst 、MoveLast 、MovePrevious 、MoveNext 方法移动记录指针时，需要注意 Rrcordset 对象的光标类型。如&#8220;前滚光标&#8221;限制了记录指针只能向前移动。</div>
<br style="CLEAR: both">
<div class=t_msgfont id=message1175>六、Recordset 对象的应用实例<br><br>　　 1、这是一个简单的员工基本情况管理系统，其功能有：1）、添加员工资料；2）、更改员工资料；3）、删除员工资料。它包含着六个页面和一个数据库。分别为：<br><br>　　 1）、主页面：index.asp<br><br>　　 2）、添加数据页面：add.htm<br><br>　　 3）、保存添加数据页面：add.asp<br><br>　　 4）、更改数据页面：Update.asp<br><br>　　 5）、保存更改数据页面：Update2.asp<br><br>　　 6）、删除记录页面：Detele.asp<br><br>　　 7）、数据库：RSGL.mdb.用到该数据库中的&#8221;员工基本情况表&#8220;。<br><br>　　 2、各页面的代码如下：<br><br>　　 1)、主页面：index.asp。该页面的功能有：<br><br>　　a、创建两个对象，Connectiion对象和Recordset对象，其目的是连接数据库和返回一个记录集；<br><br>　　b、创建一个表格，使do while循环语句将各条记录在表格中显示出来；<br><br>　　c)、创建三个超连接，一个用以连接添加数据页面，另一个通过指定的员工姓名连接到更改数据页面，还有一个通过指定的员工姓名连接到删除页面。<br><br>&lt;% @ Language="VBScript" %&gt;<br>&lt;html&gt;<br>&lt;head&gt;&lt;title&gt;员工基本情况管理系统&lt;/title&gt;&lt;/head&gt;<br>&lt;body&gt;<br>&lt;%<br>'****************创建两个对象（连接对象、记录集对象）*********************<br>dim cnn,rst<br>set cnn=Server.CreateObject("ADODB.Connection")<br>set rst=Server.CreateObject("ADODB.Recordset")<br>'指定连接字符串，<br>cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" &amp; server.MapPath("../rsgl.mdb")<br>cnn.Open<br>sSQL="select * from 员工基本情况表"<br>'rst.Open sSQL,cnn,1,1<br>set rst=cnn.Execute(sSQL,,adCmdText)<br>%&gt;<br>&lt;!--************创建一个表格，用以显示数据库中的各条记录***********--&gt;<br>&lt;table align="center" border="1"&gt;<br>&lt;caption&gt;&lt;h3&gt;教职员工基本情况表&lt;/h3&gt;&lt;/caption&gt;<br>&lt;tr colspan="5"&gt;&lt;td&gt;&lt;a href="add.htm"&gt;添加记录&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;!--显示各字段名--&gt;<br>&lt;tr&gt;&lt;td align="center"&gt;员工姓名&lt;/td&gt;&lt;td align="center"&gt;所在部门&lt;/td&gt;&lt;td align="center"&gt;家庭住址&lt;/td&gt;&lt;td align="center"&gt;家庭电话&lt;/td&gt;&lt;td align="center"&gt;Email&lt;/td&gt;&lt;td align="center"&gt;状态&lt;/td&gt;<br>&lt;%<br>'使用do while循环语句将各条记录显示出来。<br>do while Not rst.eof<br>t1=rst("员工姓名")<br>t2=rst("所在部门")<br>t3=rst("家庭住址")<br>t4=rst("家庭电话")<br>t5=rst("Email")<br>tt="&lt;tr align='center'&gt;&lt;td&gt;" &amp; t1 &amp; "&lt;/td&gt;&lt;td&gt;" &amp;t2&amp; "&lt;/td&gt;&lt;td&gt;" &amp;t3&amp; "&lt;/td&gt;&lt;td&gt;" &amp;t4&amp; "&lt;/td&gt;&lt;td&gt;" &amp;t5&amp; "&lt;/td&gt;&lt;td&gt;"<br>tt=tt &amp; "&lt;a href=Update.asp?id=" &amp; t1 &amp; "&gt;修改&lt;/a&gt;&lt;a href=Detele.asp?id=" &amp; t1 &amp; "&gt;||删除&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;"<br>response.write tt<br>rst.MoveNext<br>loop<br>cnn.Close<br>Set cnn=Nothing<br>%&gt;<br>&lt;/table&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br>　　　　　　　2)、添加数据页面：add.htm 。本页面由一个表单组成，其功能是向保存添加数据页面（add.asp）提交数据。 <br>&lt;html&gt;<br>　　　　&lt;head&gt;&lt;title&gt;添加记录&lt;/title&gt;&lt;/head&gt;<br>&lt;body&gt;<br>&lt;div align="center"&gt;<br>&lt;form name="form1" method="post" action="add.asp"&gt;<br>&lt;table align="center" border="1"&gt;<br>&lt;tr&gt;&lt;td colspan="2" align="center"&gt;员工基本情况表&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;员工姓名：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtName"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;所在部门：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtDepartment"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;家庭住址：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtAddr"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;家庭电话：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtTel"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;Email：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtemail"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="center"&gt;&lt;input type="submit" value="提交"&gt;&lt;/td&gt;<br>&lt;td align="center"&gt;&lt;input type="reset" value="全部重写"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;/form&gt;<br>&lt;a href="index.asp"&gt;返回首页&lt;/a&gt;<br>&lt;/div&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</div>
<p>3)、保存添加数据页面：add.asp。该页面的功能有：a)、使用Request对象获取从add.htm页面提交的值；b)、创建三个对象（一个连接对象、二个记录集对象），通过rs.addnew,rs.update两个函数将数据保存到数据库；c)、显示信息提示框。<br><br>&lt;% @ Language="VBScript" %&gt;<br>　　　　&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;添加记录&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;!-- #include virtual ="/adovbs.inc" --&gt;<br>&lt;%<br>'**************使用Request对象获取从add.htm页面中提交的值************************************<br>Name1=Request.Form("txtName")<br>Department=Request.Form("txtDepartment")<br>Addr=Request.Form("txtAddr")<br>Tel=Request.Form("txtTel")<br>Email=Request.Form("txtEmail")<br>if Tel="" then<br>Tel="不祥"<br>end if<br>if Email="" then<br>Email="不祥"<br>end if<br>if name1="" or department="" or Addr="" then<br>%&gt;<br>&lt;script language="vbscript"&gt;<br>alert("员工姓名、所在部门和家庭住址中只少有一项为空,请填写完整。")<br>history.back<br>&lt;/script&gt;<br>&lt;%<br>else<br>'****************创建三个对象（一个连接对象、二个记录集对象）*********************<br>dim cnn,rst<br>set cnn=Server.CreateObject("ADODB.Connection")<br>'指定连接字符串，<br>cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" &amp; server.MapPath("../rsgl.mdb")<br>cnn.Open<br>'建立Recordset对象并以追加记录方式打开数据库。<br>set rst=Server.CreateObject("ADODB.Recordset")<br>set rst1=Server.CreateObject("ADODB.Recordset")<br>sSQL="select * from 员工基本情况表 where 员工姓名='" &amp; name1 &amp; "'"<br>rst.Open sSQL,cnn,1,1<br>if rst.EOF or rst.BOF then '如果数据表中无此数据，则添加记录。<br>rst1.Open "员工基本情况表",cnn ,1,2<br>rst1.addnew array("员工姓名","所在部门","家庭住址","家庭电话","Email"),array(name1,Department,Addr,Tel,Email)<br>rst1.update<br>%&gt;<br>&lt;!--**********显示信息提示框**************--&gt;<br>&lt;script language="vbscript"&gt;<br>alert("记录添加成功！")<br>window.location.href="index.asp"<br>&lt;/script&gt;<br>&lt;%<br>rst1.close<br>set rst1=nothing<br>else<br>%&gt;<br>&lt;script language="vbscript"&gt;<br>alert("员工姓名为：&#8220;&lt;%=name1 %&gt;&#8221; 的记录已经存在。")<br>history.back<br>&lt;/script&gt;<br>&lt;%<br>end if<br>rst.close<br>set rst=nothing<br>end if<br>%&gt;<br>&lt;h3&gt;记录添加成功！&lt;/h3&gt;<br>&lt;p&gt;&lt;a href="add.htm"&gt;返回记录添加表单&lt;/a&gt; || &lt;a href="index.asp"&gt;返回首页&lt;/a&gt;<br>&lt;/center&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br>　　4)、更改数据页面：Update.asp。该页面的功能有：a、创建两个对象，Connectiion对象和Recordset对象，其目的是连接数据库和返回一个记录集；b、创建一个表单，其目的是提交更改过的数据。<br><br>&lt;%<br>a=request("id")<br>response.write a<br>'response.end<br>'****************创建两个对象（连接对象、记录集对象)*********************<br>dim cnn,rst,cmd<br>set cnn=Server.CreateObject("ADODB.Connection")<br>set rst=Server.CreateObject("ADODB.Recordset")<br>'指定连接字符串，<br>cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" &amp; server.MapPath("../rsgl.mdb")<br>cnn.Open<br>sSQL="select * from 员工基本情况表 where 员工姓名='" &amp; a &amp; "'"<br>'rst.Open sSQL,cnn,1,1<br>set rst=cnn.Execute(sSQL,,adCmdText)<br>%&gt;<br>&lt;html&gt;<br>&lt;head&gt;&lt;title&gt;更改记录&lt;/title&gt;&lt;/head&gt;<br>&lt;body&gt;<br>&lt;div align="center"&gt;<br>&lt;!--****************创建一个表单*****************************--&gt;<br>&lt;form name="form1" method="post" action="Update2.asp"&gt;<br>&lt;table align="center" border="1"&gt;<br>&lt;tr&gt;&lt;td colspan="2" align="center"&gt;员工基本情况表&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;员工姓名：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtName" value=&lt;%=rst("员工姓名")%&gt; readonly&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;所在部门：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtDepartment" value=&lt;%=rst("所在部门")%&gt;&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;家庭住址：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtAddr" value=&lt;%=rst("家庭住址")%&gt;&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;家庭电话：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtTel" value=&lt;%=rst("家庭电话")%&gt;&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;Email：&lt;/td&gt;<br>&lt;td&gt;&lt;input type="text" name="txtemail" value=&lt;%=rst("Email")%&gt;&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="center"&gt;&lt;input type="submit" value="提交"&gt;&lt;/td&gt;<br>&lt;td align="center"&gt;&lt;input type="reset" value="全部重写"&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;/form&gt;<br>&lt;/div&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;</p>
<div class=t_msgfont id=message1177>5)、保存更改数据页面：Update2.asp。 该页面的功能有：a)、使用Request对象获取从Update.asp页面提交的值；b)、创建二个对象（连接对象、记录集对象）；c)、通过表格显示更改后的记录。<br><br>&lt;% @ Language="VBScript" %&gt;<br>&lt;%<br>'*****************从提交表单中提取数值***************************<br>Dim Name,Department,Addr,Tel,Email<br>Name=Trim(Request.Form("txtName"))<br>Department=Trim(Request.Form("txtDepartment"))<br>Addr=Trim(Request.Form("txtAddr"))<br>Tel=Trim(Request.Form("txtTel"))<br>Email=Trim(Request.Form("txtEmail"))<br>%&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;更改记录&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;!-- #include virtual ="/adovbs.inc" --&gt;<br>&lt;%<br>'****************创建二个对象（连接对象、记录集对象）*********************<br>dim cnn,rst,cmd<br>set cnn=Server.CreateObject("ADODB.Connection")<br>set rst=Server.CreateObject("ADODB.Recordset")<br>'指定连接字符串，<br>cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" &amp; server.MapPath("../rsgl.mdb")<br>cnn.Open<br>sSQL="update 员工基本情况表 set 所在部门='" &amp; Department &amp; "',家庭住址='" &amp; Addr &amp; "',家庭电话='" &amp; Tel &amp; "',Email='" &amp; Email &amp; "' where 员工姓名='" &amp; name &amp; "'"<br>rst.Open sSQL,cnn,1,2<br>set rst=nothing<br>%&gt;<br>&lt;!--**************************用表格显示记录。**********************--&gt;<br>&lt;table align="center" border="1"&gt;<br>&lt;tr&gt;&lt;td colspan="2" align="center"&gt;员工基本情况表&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right" width="130" align="center"&gt;员工姓名：&lt;/td&gt;<br>&lt;td width="200"&gt;&lt;%=Name %&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;所在部门：&lt;/td&gt;<br>&lt;td&gt;&lt;%=Department %&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;家庭住址：&lt;/td&gt;<br>&lt;td&gt;&lt;%=Addr %&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;家庭电话：&lt;/td&gt;<br>&lt;td&gt;&lt;%=Tel %&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;tr&gt;&lt;td align="right"&gt;Email：&lt;/td&gt;<br>&lt;td&gt;&lt;%=Email %&gt;&lt;/td&gt;&lt;/tr&gt;<br>&lt;/table&gt;<br>&lt;center&gt;<br>&lt;p&gt;&lt;hr width="505" color="#cc9999"&gt;<br>&lt;h3&gt;记录更改成功！&lt;/h3&gt;<br>&lt;p&gt;&lt;a href="index.asp"&gt;返回首页&lt;/a&gt;<br>&lt;/center&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br>　　6)、删除数据页面：Detele.asp。 a)、使用Request对象获取要删除的员工姓名；b)、创建二个对象（连接对象、记录集对象）；c)、给出删除成功提示框。<br><br>&lt;% @ Language="VBScript" %&gt;<br>&lt;%<br>'从提交表单中提取数值<br>Dim Name<br>Name=Trim(Request.Querystring("id"))<br>%&gt;<br>&lt;html&gt;<br>&lt;head&gt;<br>&lt;title&gt;更改记录&lt;/title&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;!-- #include virtual ="/adovbs.inc" --&gt;<br>&lt;%<br>'****************创建二个对象（连接对象、记录集对象）*********************<br>dim cnn,rst,cmd<br>set cnn=Server.CreateObject("ADODB.Connection")<br>set rst=Server.CreateObject("ADODB.Recordset")<br>'指定连接字符串，<br>cnn.ConnectionString="PROVIDER=Microsoft.jet.OLEDB.4.0;Data Source=" &amp; server.MapPath("../rsgl.mdb")<br>cnn.Open<br>sSQL="delete from 员工基本情况表 where 员工姓名=" &amp; "'" &amp; Name &amp; "'"<br>rst.Open sSQL,cnn,1,2<br>set rst=nothing<br>ifo="员工姓名为：&#8220;" &amp; name &amp; "&#8221; 的记录已被您成功的删除！"<br>%&gt;<br>&lt;script languge="vbscript"&gt;<br>alert("&lt;%=ifo %&gt;")<br>window.location.href="index.asp"<br>&lt;/script&gt;<br>&lt;p&gt;&lt;a href="index.asp"&gt;返回记录添加表单&lt;/a&gt;<br>&lt;/center&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br><br><br><br><br><br><br>RS.OPEN SQL,CONN,A,B <br><br>A: ADOPENFORWARDONLY(=0) 只读,且当前数据记录只能向下移动 <br>ADOPENKEYSET(=1) 可读写,当前数据记录可自由移动 <br>ADOPENDYNAMIC(=2) 可读写,当前数据记录可自由移动,可看到新增记录 <br>ADOPENSTATIC(=3) 只读,当前数据记录可自由移动 <br><br>B: ADLOCKREADONLY(=1) 缺省锁定类型，记录集是只读的，不能修改记录 <br>ADLOCKPESSIMISTIC(=2) 悲观锁定，当修改记录时，数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始，则立即锁住记录。 <br>ADLOCKOPTIMISTIC(=3) 乐观锁定 ，直到用Update方法提交更新记录时才锁定记录。 <br>ADLOCKBATCHOPTIMISTIC(=4) 批量乐观锁定，允许修改多个记录，只有调用UpdateBatch方法后才锁定记录。 <br>当不需要改动任何记录时，应该使用只读的记录集，这样提供者不用做任何检测。对于一般的使用，乐观的锁定可能是最好的选择，因为记录只被锁定一小段时间， 数据在这段时间被更新。这减少了资源的使用。</ca></div>
<br>
<img src ="http://www.cppblog.com/elva/aggbug/29019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-07-30 16:15 <a href="http://www.cppblog.com/elva/archive/2007/07/30/29019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>个人扩展的asp字符串函数</title><link>http://www.cppblog.com/elva/archive/2007/05/28/25026.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 15:39:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25026.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25026.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25026.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25026.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25026.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25026.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25026.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 23:39 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25026.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Asp字符串函数</title><link>http://www.cppblog.com/elva/archive/2007/05/28/25024.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 15:38:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25024.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25024.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25024.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25024.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25024.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25024.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25024.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 23:38 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25024.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>常用的一些小技巧 </title><link>http://www.cppblog.com/elva/archive/2007/05/28/25012.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 11:54:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25012.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25012.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25012.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25012.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25012.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25012.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25012.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 19:54 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25012.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>1000个数随机产生20组不重复 </title><link>http://www.cppblog.com/elva/archive/2007/05/28/25009.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 11:47:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25009.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25009.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25009.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25009.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25009.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25009.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25009.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 19:47 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25009.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP页面生成静态页的方法 </title><link>http://www.cppblog.com/elva/archive/2007/05/28/25008.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 11:46:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25008.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25008.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25008.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25008.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25008.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25008.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 19:46 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ASP可逆算法 </title><link>http://www.cppblog.com/elva/archive/2007/05/28/25006.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 11:44:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25006.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25006.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25006.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25006.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25006.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25006.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25006.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 19:44 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25006.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>len(),lift(),right()不能正常识别中文的解决方法 </title><link>http://www.cppblog.com/elva/archive/2007/05/28/25005.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 11:40:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25005.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25005.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25005.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25005.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25005.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25005.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25005.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 19:40 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25005.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>判断中英文结合的字段串长度的小函数 </title><link>http://www.cppblog.com/elva/archive/2007/05/28/25004.html</link><dc:creator>叶子</dc:creator><author>叶子</author><pubDate>Mon, 28 May 2007 11:39:00 GMT</pubDate><guid>http://www.cppblog.com/elva/archive/2007/05/28/25004.html</guid><wfw:comment>http://www.cppblog.com/elva/comments/25004.html</wfw:comment><comments>http://www.cppblog.com/elva/archive/2007/05/28/25004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/elva/comments/commentRss/25004.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/elva/services/trackbacks/25004.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp;<a href='http://www.cppblog.com/elva/archive/2007/05/28/25004.html'>阅读全文</a><img src ="http://www.cppblog.com/elva/aggbug/25004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/elva/" target="_blank">叶子</a> 2007-05-28 19:39 <a href="http://www.cppblog.com/elva/archive/2007/05/28/25004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>