2 # $Id: fbtest.py 2 2004-08-20 10:48:47Z znek $
4 from Foundation import *
7 conDict = { 'userName': "skyrix",
8 'databaseName': "Skyrix",
11 adaptor = EOAdaptor(name='FrontBase2')
12 adaptor.setConnectionDictionary(conDict)
13 print "got adaptor ", adaptor.invoke0("class");
15 ctx = adaptor.createAdaptorContext()
16 ch = ctx.createAdaptorChannel()
18 model = EOModel(contentsOfFile='test.eomodel')
19 adaptor.setModel(model)
20 adaptor.setConnectionDictionary(conDict)
22 ch.setDebugEnabled(YES)
25 print "channel is open"
27 if ctx.beginTransaction():
30 pool = NSAutoreleasePool()
32 e = model.entityNamed('Person')
34 attrs = e.attributes()
36 if ch.selectAttributes(attrs, q):
37 record = ch.fetchAttributes(attrs)
38 while record is not None:
39 print " login=%(login)s name=%(name)s bday=%(birthday)s" % \
41 record = ch.fetchAttributes(attrs)
45 pool = NSAutoreleasePool()
47 e = model.entityNamed('Person')
48 attrs = e.attributes()
49 q = EOKeyValueQualifier('login', EOQualifierOperatorEqual, 'helge')
50 q = q.sqlQualifierForEntity(e)
52 if ch.selectAttributes(attrs, q):
53 record = ch.fetchAttributes(attrs)
54 print " login=%(login)s name=%(name)s bday=%(birthday)s" % \
58 date = NSCalendarDate()
59 print "date in localtime:", date
60 date.setTimeZone(NSTimeZone("PST"))
61 print "date in pacific time:", date
63 record['birthday'] = date
64 print " login=%(login)s name=%(name)s bday=%(birthday)s" % record
66 if ch.updateRow(record, q):
69 print "update failed .."
71 if ch.selectAttributes(attrs, q):
72 nrecord = ch.fetchAttributes(attrs)
73 print " login=%(login)s name=%(name)s bday=%(birthday)s" % \
75 print nrecord['birthday'].__class__
80 ctx.rollbackTransaction()
82 print "couldn't begin tx."
86 print "couldn't open channel."