I'm doing some work with record object...
after doing
dc_dbrecord():new()
dbgoto(0)
dc_dbscatter()
there are some fields that have a valtype "U"
shouldn't all fields have the proper datatype from the database ?
I'm using an older version of dc_dbscatter() since we had some trouble with the dc_db* functions back in september.
Code: Select all
*********************
function dc_dbscatter( oRecord )
*********************
LOCAL i, aStruct, xData
aStruct := dbStruct()
FOR i := 1 TO Len(aStruct)
xData := FieldGet(i)
IF IsMemberVar(oRecord,aStruct[i,1])
oRecord:&(aStruct[i,1]) := xData
else
//dcbdebug i,aStruct[i,1]
endif
NEXT
RETURN oRecord
Code: Select all
FUNCTION DC_DbScatter( oRecord, cRecNoFieldName, cDeletedFieldName )
LOCAL i, aStruct, xData, cFieldName
DEFAULT cRecNoFieldName := 'RECORD_NUMBER', ;
cDeletedFieldName := 'RECORD_DELETED'
aStruct := dbStruct()
FOR i := 1 TO Len(aStruct)
cFieldName := aStruct[i,1]
xData := FieldGet(i)
IF IsMemberVar(oRecord,cFieldName)
xData := FieldGet(i)
oRecord:&(aStruct[i,1]) := xData
ENDIF
NEXT
IF IsMemberVar(oRecord,'RECORD_NUMBER')
oRecord:record_number := RecNo()
ENDIF
IF IsMemberVar(oRecord,'RECORD_DELETED')
oRecord:record_deleted := Deleted()
ENDIF
RETURN oRecord
I'm enclosing the file that this applies to.. i did not enclose the index
as usual, i'm sure i'm missing something..