rem ' Returns whether the current RecordData of a BBjRecordSet has changed
rem ' First, create a data file
FILENAME$="BBjRecordSet.dat"
MODES$=""
TEMPLATE$="STATE:C(2),NAME:C(16* = )"
erase FILENAME$,err=*next
mkeyed FILENAME$,[0:1:2],0,32
channel = unt
open (channel)FILENAME$
dim REC$:TEMPLATE$
rem ' Load the file with state codes and names
while 1
dread rec.state$,rec.name$,END=*break
write record (channel)rec$
wend
close (channel)
rem ' Create a file-based BBjRecordSet
RecordSet! = BBJAPI().createFileRecordSet(FILENAME$,MODES$,TEMPLATE$)
rem ' Go to the first record
RecordSet!.first()
rem ' Retrieve the RecordData for the current record
RecordData! = RecordSet!.getCurrentRecordData()
rem ' Print the RecordData
print 'lf',"Original RecordData is:",'LF',RecordData!,
rem ' RecordSet dirty flag is initially false
print "RecordSet isCurrentRecordDirty? (initially false)",RecordSet!.isCurrentRecordDirty()
rem ' Change the state name
RecordData!.setFieldValue("name","ALASKA")
rem ' And pass this RecordData back to the RecordSet
RecordSet!.setCurrentRecordData(RecordData!)
rem ' Print the RecordData
print 'lf',"Modified RecordData is:",'LF',RecordData!,
rem ' RecordSet dirty flag is now true
print "RecordSet isCurrentRecordDirty? (true after changing state name)",RecordSet!.isCurrentRecordDirty()
rem ' And pass this RecordData back to the RecordSet
RecordData! = RecordSet!.getSourceRecordData()
RecordSet!.setCurrentRecordData(RecordData!)
rem ' Print the RecordData
print 'lf',"Restored Source RecordData is:",'LF',RecordData!,
rem ' RecordSet dirty flag is now false
print "RecordSet isCurrentRecordDirty? (false after restoring from source)",RecordSet!.isCurrentRecordDirty()
stop
DATA "AK","Alaska"
DATA "AL","Alabama"
DATA "AR","Arkansas"
DATA "AZ","Arizona"
DATA "CA","California"
DATA "CO","Colorado"
DATA "CT","Connecticut"
DATA "DC","District of Columbia"
DATA "DE","Delaware"
DATA "FL","Florida"
DATA "GA","Georgia"
DATA "GU","Guam"
DATA "HI","Hawaii"
DATA "IA","Iowa"
DATA "ID","Idaho"
DATA "IL","Illinois"
DATA "IN","Indiana"
DATA "KS","Kansas"
DATA "KY","Kentucky"
DATA "LA","Louisiana"
DATA "MA","Massachusetts"
DATA "MD","Maryland"
DATA "ME","Maine"
DATA "MI","Michigan"
DATA "MN","Minnesota"
DATA "MO","Missouri"
DATA "MS","Mississippi"
DATA "MT","Montana"
DATA "NC","North Carolina"
DATA "ND","North Dakota"
DATA "NE","Nebraska"
DATA "NH","New Hampshire"
DATA "NJ","New Jersey"
DATA "NM","New Mexico"
DATA "NV","Nevada"
DATA "NY","New York"
DATA "OH","Ohio"
DATA "OK","Oklahoma"
DATA "OR","Oregon"
DATA "PA","Pennsylvania"
DATA "PR","Puerto Rico"
DATA "RI","Rhode Island"
DATA "SC","South Carolina"
DATA "SD","South Dakota"
DATA "TN","Tennessee"
DATA "TX","Texas"
DATA "UT","Utah"
DATA "VA","Virginia"
DATA "VI","Virgin Islands"
DATA "VT","Vermont"
DATA "WA","Washington"
DATA "WI","Wisconsin"
DATA "WV","West Virginia"
DATA "WY","Wyoming"
|