LOTUS CONNECTORS


Examples: HasRowChanged method
This example contains an action (the Click sub) that updates a row. Before the update occurs, a check is made to see if another program updated the row since this program fetched it.

Uselsx "*LSXODBC"

Dim con As ODBCConnection
Dim qry As ODBCQuery
Dim result As ODBCResultSet

Sub Postopen(Source As Notesuidocument)
 Set con = New ODBCConnection
 Set qry = New ODBCQuery
 Set result = New ODBCResultSet
 Set qry.Connection = con
 Set result.Query = qry
 con.ConnectTo("ATDB")
 qry.SQL = "SELECT * FROM STUDENTS ORDER BY LASTNAME"
 result.Execute
 ...
End Sub

Sub Click(Source As Button)
 Dim workspace As New NotesUIWorkspace
 Dim uidoc As NotesUIDocument
 Set uidoc = workspace.CurrentDocument
 Call result.SetValue("STUDENT_NO", _
 Cint(uidoc.FieldGetText("Student_No")))
 Call result.SetValue("FIRSTNAME", _
 uidoc.FieldGetText("FirstName"))
 Call result.SetValue("LASTNAME", _
 uidoc.FieldGetText("LastName"))
 Call result.SetValue("ADDRESS", _
 uidoc.FieldGetText("Address"))
 Call result.SetValue("CITY", _
 uidoc.FieldGetText("City"))
 Call result.SetValue("STATE", _
 uidoc.FieldGetText("State"))
 Call result.SetValue("ZIP", _
 uidoc.FieldGetText("Zip"))
 Call result.SetValue("PHONE", _
 uidoc.FieldGetText("Phone"))
 Call result.SetValue("CR_TO_DATE", _
 uidoc.FieldGetText("Cr_to_date"))
 If result.HasRowChanged Then
   If Messagebox("Someone else changed this row " & _
   "after you fetched it. " & _
   "Do you want to proceed?", MB_YESNO, _
   "Row was changed!") <> IDYES Then
     Exit Sub
   End If
 End If
 result.UpdateRow
End Sub

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
 result.Close(DB_CLOSE)
 con.Disconnect
End Sub

See Also