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
%>