Импорт из DBF

dbf=zzDbfOdbc("d:/temp/hr/base/")
cu=dbf.select(u"""select count(1) as c1 from spr_kad""",cp="cp1251")
count=0
for x in cu:
	count=int(x['C1'])
pb=zzProgressBar(barText=u"Импорт", barMax=count+1)
cu=dbf.select("""select * from spr_kad""",cp="cp1251")
transaction()
dbfError=False
for x in cu:
	if pb.step(interval=1000): 
		lastError=u"Прервано пользователем"
		dbfError=True
		break
	dic={}
	dic['UID']=x['TN']
	dic['NAME']=x['NAME']
	dic['BIRTHDATE']=x['BIRTH']
	if gi("people","uid",dic['UID'],"uid")==dic['UID']:
		rez=update("people",dic)
	else:
		rez=insert("people",dic)
	if not rez:
		lastError=u"Ошибка при записи (%s)" % MyApp.myDataBase.lastError
		dbfError=True
		break
pb.close()
if dbfError:
	zzMess(u"При импорте произошла ошибка <b>%s</b>!!! Необходимо повторить!!!" % lastError)
else:
	commit()