有很多朋友提到,这里给出答案。先定义一个函数:
<%
function HTMLEncode(fString)
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
HTMLEncode = fString
end function
%>
调用<%=HTMLEncode(strstring)%>
<script language=vbs>
function HTMLEncode(fString)
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
fString = Replace(fString, CHR(10), "<BR>")
HTMLEncode = fString
end function
function output(str)
out.innerHTML=HTMLEncode(str)
end function
</script>
<textarea name=phx cols=95 rows=12></textarea>
<br><button onclick=output(phx.value)>显示</button>
<div id=out style="border:1 solid red;width:500;height:300"></div>
[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
||||||rs.open sql,conn,1,1 的后两个 1,1的涵义
Recordset对象方法
Open方法
recordset.OpenSource,ActiveConnection,CursorType,LockType,Options
Source
Recordset对象可以通过Source属性来连接Command对象。
Source参数可以是一个Command对象名称、一段SQL命令、一个指定的数据表名称或是一个StoredProcedure。假如省略这个参数,系统则采用Recordset对象的Source属性。
ActiveConnection
Recordset对象可以通过ActiveConnection属性来连接Connection对象。
这里的ActiveConnection可以是一个Connection对象或是一串包含数据库连接信息(ConnectionString)的字符串参数。
CursorType
Recordset对象Open方法的CursorType参数表示将以什么样的游标类型启动数据,
包括adOpenForwardOnly、adOpenKeyset、adOpenDynamic及adOpenStatic,分述如下:
--------------------------------------------------------------
常数常数值说明
-------------------------------------------------------------
adOpenForwardOnly0缺省值,启动一个只能向前移动的游标(ForwardOnly)。
adOpenKeyset1启动一个Keyset类型的游标。
adOpenDynamic2启动一个Dynamic类型的游标。
adOpenStatic3启动一个Static类型的游标。
-------------------------------------------------------------
以上几个游标类型将直接影响到Recordset对象所有的属性和方法,以下列表说明他们之间的区别。
-------------------------------------------------------------
Recordset属性adOpenForwardOnlyadOpenKeysetadOpenDynamicadOpenStatic
-------------------------------------------------------------
AbsolutePage不支持不支持可读写可读写
AbsolutePosition不支持不支持可读写可读写
ActiveConnection可读写可读写可读写可读写
BOF只读只读只读只读
Bookmark不支持不支持可读写可读写
CacheSize可读写可读写可读写可读写
CursorLocation可读写可读写可读写可读写
CursorType可读写可读写可读写可读写
EditMode只读只读只读只读
EOF只读只读只读只读
Filter可读写可读写可读写可读写
LockType可读写可读写可读写可读写
MarshalOptions可读写可读写可读写可读写
MaxRecords可读写可读写可读写可读写
PageCount不支持不支持只读只读
PageSize可读写可读写可读写可读写
RecordCount不支持不支持只读只读
Source可读写可读写可读写可读写
State只读只读只读只读
Status只读只读只读只读
AddNew支持支持支持支持
CancelBatch支持支持支持支持
CancelUpdate支持支持支持支持
Clone不支持不支持
Close支持支持支持支持
Delete支持支持支持支持
GetRows支持支持支持支持
Move不支持支持支持支持
MoveFirst支持支持支持支持
MoveLast不支持支持支持支持
MoveNext支持支持支持支持
MovePrevious不支持支持支持支持
NextRecordset支持支持支持支持
Open支持支持支持支持
Requery支持支持支持支持
Resync不支持不支持支持支持
Supports支持支持支持支持
Update支持支持支持支持
UpdateBatch支持支持支持支持
--------------------------------------------------------------
其中NextRecordset方法并不适用于MicrosoftAccess数据库。
LockType
Recordset对象Open方法的LockType参数表示要采用的Lock类型,如果忽略这个参数,那么系统会以Recordset对象的LockType属性为预设值。
LockType参数包含adLockReadOnly、adLockPrssimistic、adLockOptimistic及adLockBatchOptimistic等,分述如下:
-------------------------------------------------------------
常数常数值说明
--------------------------------------------------------------
adLockReadOnly1缺省值,Recordset对象以只读方式启动,无法运行AddNew、Update及Delete等方法
adLockPrssimistic2当数据源正在更新时,系统会暂时锁住其他用户的动作,以保持数据一致性。
adLockOptimistic3当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。
adLockBatchOptimistic4当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作。
rs.opensql,conn,1,1的后两个1,1各代表什么?
RS.OPENSQL,CONN,A,B
A:ADOPENFORWARDONLY(=0)只读,且当前数据记录只能向下移动
ADOPENSTATIC(=3)只读,当前数据记录可自由移动
ADOPENKEYSET(=1)可读写,当前数据记录可自由移动
ADOPENDYNAMIC(=2)可读写,当前数据记录可自由移动,可看到新增记录
B:ADLOCKREADONLY(=1)默认值,用来打开只读记录
ADLOCKPESSIMISTIC(=2)悲观锁定
ADLOCKOPTIMISTIC(=3)乐观锁定
ADLOCKBATCHOPTIMISTIC(=4)批次乐观锁定