테이블 필드명을 굳이 사용할 일이 별로 없습니다만,
최근 플렉스 관련된 협업을 진행한 적이 있는데...
데이터 통신을 xml로 합니다. 거기에 태그명은 알아서 적어달라고 하더군요.
그래서 당연히 머리 안쓰고자 필드명으로 처리하겠다고 했습니다.
본 내용은 필드명을 알아내는 작업이 주라고 봐도 되겠습니다.
일단 함수는 아래와 같습니다.
'**
' 레코드셋 rs로 xml 만들기
' rs : 레코드셋 객체
' envelopeTag : xml root 태그
' dataTag : 데이터 구분 태그
'*
Function getPrintXmlData(rs, envelopeTag, dataTag)
strReturn = "<?xml version=" & chr(34) & "1.0" & chr(34) & " encoding=" & chr(34) & "utf-8" & chr(34) & " ?> " & vbCrLf
strReturn = strReturn & "<" & envelopeTag & ">" & vbCrLf
Do While Not rs.EOF
strReturn = strReturn & "<" & dataTag & ">" & vbCrLf
For Each f In rs.Fields
fieldName = f.Name
fieldValue = rs(fieldName)
strReturn = strReturn & " <" & fieldName & "><![CDATA[" & fieldValue & "]]></" & fieldName & ">" & vbCrLf
Next
strReturn = strReturn & "</" & dataTag & ">" & vbCrLf
rs.MoveNext
Loop
strReturn = strReturn & "</" & envelopeTag & ">" & vbCrLf
getPrintXmlData = strReturn
End Function
전체 구문은 모두 텍스트로 전제한 후 작업을 했습니다. 그래서 모든 필드값은 CDATA로 감쌌습니다.
해당 내용이 Integer 형태로 전달할 필요성이 있다면, 숫자형을 확인해야 겠죠??
중간에 레코드셋의 필드명 확인하는 구문이 있으니, 이부분을 참조하시면 도움이 될 듯 합니다. ^^;;
참 쉽죠잉?? ^^;;
반응형