ADO OriginalValue 和 UnderlyingValue 属性
定义和用法
OriginalValue 属性可返回一个 variant 值,该值包含最后一次 Update 或 UpdateBatch 方法调用之前已经存在的字段值。
UnderlyingValue 属性可返回一个 variant 值,该值包含某个字段的当前值。该值不会必要地显示由其他用户造成的更改,且也许不是最新的值。
提示:请使用 Recordset 对象的 Resync 属性来获得 Fields 集合中所有 Field 对象的最新值。
提示:这两种属性可以配合使用可以解决批更新时出现的冲突。
语法
- objField.OriginalValue
- objField.UnderlyingValue
实例
- <%
- set conn=Server.CreateObject("ADODB.Connection")
- conn.Provider="Microsoft.Jet.OLEDB.4.0"
- conn.Open "c:/webdata/northwind.mdb"
- set rs = Server.CreateObject("ADODB.Recordset")
- rs.open "customers", conn
- set objfield=rs.fields("companyname")
- 'Some code..................
- 'Check for changes
- rs.movefirst
- while rs.eof=false
- if objfield.OriginalValue<>objfield.UnderlyingValue then
- response.write("Data has changed!<br />")
- response.write("Original value: ")
- response.write(objfield.OriginalValue & "<br />")
- response.write("Current value: ")
- response.write(objfield.UnderlyingValue & "<br />")
- end if
- rs.movenext
- next
- 'More code...................
- rs.Close
- conn.close
- %>