Thuộc tính OriginalValue và UnderlyingValue của ADO

Định nghĩa và cách sử dụng

Thuộc tính OriginalValue có thể trả về một giá trị variant, chứa giá trị của trường đã tồn tại trước khi gọi phương thức Update hoặc UpdateBatch.

Thuộc tính UnderlyingValue có thể trả về một giá trị variant, chứa giá trị hiện tại của một trường. Giá trị này không cần thiết phải hiển thị các thay đổi do người dùng khác gây ra và có thể không phải là giá trị mới nhất.

Lưu ý:Vui lòng sử dụng thuộc tính Resync của đối tượng Recordset để lấy các giá trị mới nhất của tất cả các đối tượng Field trong tập hợp Fields.

Lưu ý:Cả hai thuộc tính này có thể được sử dụng cùng nhau để giải quyết xung đột khi cập nhật lô.

cú pháp

objField.OriginalValue
objField.UnderlyingValue

thực thể

<%
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..................
'Kiểm tra sự thay đổi'
rs.movefirst
while rs.eof=false
  if objfield.OriginalValue<>objfield.UnderlyingValue then
    response.write("Dữ liệu đã thay đổi!<br />")
    response.write("Giá trị gốc: ")
    response.write(objfield.OriginalValue & "<br />")
    response.write("Giá trị hiện tại: ")
    response.write(objfield.UnderlyingValue & "<br />")
  end if
  rs.movenext
next
'More code...................
rs.Close
conn.close
%>