DataObject 개체는 dbm 개체와 같이 사용되어 데이터베이스의 데이터를 가져오거나 추가 또는 수정할 때 사용됩니다.

 DataObject 개체는 테이블을 지정해야 되며, 테이블의 컬럼과 데이터를 한 쌍으로 하는 데이터들 설정해야 합니다. 또, 이미 DataObject 개체에서 설정된 데이터를 가져올 수 있습니다.

Methods


리턴 값

함 수

설 명

str

fields()

컬럼의 목록을 가져옵니다.

int

isEmpty()

데이터 존재 여부를 반환합니다.


setObjectType( type )

테이블를 설정합니다.


setValue( column, value )

값을 컬럼에 설정합니다.


setValueAsStream( column, value )

값을 스트림으로 변환하여 컬럼에 설정합니다.


setValueAsDateTime( column, value )

값을 DateTime으로 변환하여 컬럼에 설정합니다.

str

stringValues()

전체 값을 문자열 리스트 형식으로 가져옵니다.

  int or float or str

value( column )

컬럼의 값을 가져옵니다.

 list[ int or float or str ]

values()

전체 값을 리스트 형식으로 가져옵니다.

int or float or str

valueByIndex( index )

입력한 인덱스에 해당하는 컬럼의 값을 가져옵니다.



 

  setObjectType( type:대상 테이블명 )

 

 setObjectType 함수는 대상 테이블을 설정합니다.


  • type : 대상 테이블명을 입력합니다.


 예)

dbData = DataObject()

dbData.setObjectType('PCS_MEMBER')



 

  setValue( column:컬럼명, value:값 또는 문자 )

 

 setValue 함수는 값을 컬럼에 설정하는 함수입니다. 컬럼명은 대상 테이블의 컬럼명을 입력합니다.


  • column : 대상 테이블의 컬럼을 입력합니다.
  • value : 값과 문자를 입력합니다.


 예)

dbData = DataObject()

dbData.setObjectType('PCS_MEMBER')

dbData.setValue('id', 'admin')

dbData.setValue('pwd', '1234')

dbData.setValue('decript','관리자')



 

  setValueAsStream( column:컬럼, value:스트림 형식 )

 

 setValueAsStream 함수는 스트림형식의 데이터를 컬럼에 저장하는 함수입니다.


  • column : 대상 테이블의 컬럼을 입력합니다.
  • value : 스트림형식의 데이터를 입력합니다.


 예)

f = open('memo.txt', 'r')

value = f.read()

f.close()


dbData = DataObject()

dbData.setObjectType('PCS_MEMBER')

dbData.setValue('id','user')

dbData.setValue('pwd', '1234')

dbData.setValue('desc','사용자')

dbData.setValueAsStream('memo', value)

dbm.addData(dbData)



 

  setValueAsDateTime( column:컬럼, value:datetime )

 

 setValueAsDateTime 함수는 입력한 스크립트의 datetime 값을 데이터베이스에 입력 가능한 값으로 변환하여 설정하는 함수입니다.


  • column : 대상 테이블의 컬럼을 입력합니다.
  • value : 파이썬 datetime 값을 입력합니다.


파이썬 스크립트 datetime 개체 사용방법을 참고하세요.


 예)

import datetime

now = datetime.datetime.now()

dbData.setObjectType('PCS_MEMBER')

dbData.setValue('id','tester')

dbData.setValue('pwd', '1234')

dbData.setValue('desc','테스터')

dbData.setValueAsDateTime('date', now)

dbm.addData(dbData)



 

  int isEmpty()

 

 isEmpty 함수는 DataObject 개체에 데이터 유무를 반환합니다.


  • 참(1) : DataObject 개체에 값이 있으면 참을 반환됩니다.
  • 거짓(0) : DataObject 개체에 값이 없으면 거짓을 반환됩니다.


 예)

dataList = dbm.cmd2('SELECT * FROM PCS_MEMBER')

data1 = DataObject()

data1 = dataList[0]

if data1.isEmpty():

    app.messageBox('DataObject에 데이터가 없습니다.')

else:

    app.messageBox('DataObject에 데이터가 있습니다.')



 

  int or float or str value( column:컬럼 )

 

 value 함수는 입력한 컬럼을 DataObject 개체에서 찾아서 해당 데이터를 반환합니다.


  • column : 대상 테이블의 컬럼을 입력합니다.
  • 반환값
    • 입력한 컬럼의 값을 반환합니다.
    • 값은 컬럼 속성에서 지정된 데이터 타입 형식을 가집니다.
    • 유무를 반환합니다.


 예)

dataList = dbm.cmd2('SELECT * FROM PCS_MEMBER')

data = dataList[0]

print  'item is ', data.value('id'), ', ', data.value('pwd'), ', ', data.value('desc')




  list[ int or float or str ] values()

 

 values 함수는 DataObject 개체가 가지고 있는 값을 리스트형식으로 반환합니다.


  • 반환값
    • 입력한 컬럼의 값을 값을 목록 형식으로 반환합니다.
    • 값은 컬럼 속성에서 지정된 데이터 타입 형식을 가집니다.


 예)

dataList = dbm.cmd2('SELECT * FROM PCS_MEMBER')

data = dataList[0]

v = data.values()

print 'values : ', v



 

  str stringValues()

 

 stringValues 함수는 DataObject 개체의 값들을 문자열 목록 형식으로 변환하여 반환합니다.


  • 반환값
    • 값들을 문자열 목록 형식으로 변환하여 반환합니다.


 예)

dataList = dbm.cmd2('SELECT * FROM PCS_MEMBER')

data = dataList[0]

v = data.stringValues()

print 'stringValues : ', v



 

  str fields()

 

 fields 함수는 DataObject 개체가 가지고 있는 컬럼의 목록을 반환합니다.


  • 반환값
    • 컬럼들 문자열 목록 형식으로 변환하여 반환합니다.


 예)

dataList = dbm.cmd2('SELECT * FROM PCS_MEMBER')

data = dataList[0]

v = data.fields()

print 'fields : ', v



 

  int or float or str valueByIndex( index:컬럼 인덱스 )

 

 valueByIndex 함수는 입력한 인덱스에 해당하는 컬럼의 값을  DataObject 개체에서 찾아서 해당 데이터를 반환합니다.


  • index : 대상 테이블의 컬럼에 해당하는 인덱스를 입력합니다.
  • 반환값
    • 입력한 인덱스에 해당하는 컬럼의 값을 반환합니다.
    • 값은 컬럼 속성에서 지정된 데이터 타입 형식을 가집니다.


 예)

dataList = dbm.cmd2('SELECT id, pwd, desc FROM PCS_MEMBER')

data = dataList[0]

data.valueByIndex(1)

data.valueByIndex(2)

data.valueByIndex(3)

print 'id is', data.valueByIndex(1), 'pwd is', data.valueByIndex(2), 'desc is', data.valueByIndex(3)