Hello Oleg and others,
Thanks sincerely for the help; I'm much further along because
now rows are inserted successfully. However, I still get an
odd error message referring to key 0 when I do a simple print
to show the values in the object.
BTW, I will do my best to preserve indenting but my web-based
email service is determined to ruin the code.
better class 1:
===========================================================
from sqlobject import *
class titles( SQLObject ):
title_id = IntCol()
title = StringCol()
class sqlmeta:
print 'class sqlmeta'
idName = 'title_id'
lazyUpdate = False
===========================================================
better class 2:
===========================================================
from sqlobject import *
import titles
class InsertNewTitle:
def makeNewBook( self ):
sybURI = "sybase://my_user_id:my_passw...@dbserver//library_info"
konnection = connectionForURI( sybURI )
konnection.debug = True
konnection.autoCommit = True
sqlhub.processConnection = konnection
newKey = 1234
newTitle = "Mystery Book"
book_b = titles.titles(title_id=newKey, title=newTitle) # works!
# book_b.id = newKey
# book_b.set(title_id=newKey, title = newTitle)
# book_b.syncUpdate()
# book_b = titles.get(newKey)
print 'for ID %d the title is %s' % ( book_b.title_id, book_b.title ) # fails
return None
if __name__ == "__main__":
instantiatedObject = InsertNewTitle()
instantiatedObject.makeNewBook()
===========================================================
and the error and the messages I cannot prevent are:
===========================================================
class sqlmeta
QueryIns: INSERT INTO titles (title_id, title) VALUES (1234, 'Mystery Book')
1/QueryOne: SELECT title_id, title FROM titles WHERE ((titles.title_id) = (0))
1/QueryR : SELECT title_id, title FROM titles WHERE ((titles.title_id) = (0))
Traceback (most recent call last):
File "/diska/data/workspace/PyXtern/src/tmpTry/InsertNewTitle.py", line 30, in
<module>
instantiatedObject.makeNewBook()
File "/diska/data/workspace/PyXtern/src/tmpTry/InsertNewTitle.py", line 18, in
makeNewBook
book_b = titles.titles(title_id=newKey, title=newTitle)
File
"/diska/data/workspace/PyXtern/Bibliothek/eggs/SQLObject-0.10.4-py2.5.egg/sqlobject/main.py",
line 1203, in __init__
File
"/diska/data/workspace/PyXtern/Bibliothek/eggs/SQLObject-0.10.4-py2.5.egg/sqlobject/main.py",
line 1251, in _create
File
"/diska/data/workspace/PyXtern/Bibliothek/eggs/SQLObject-0.10.4-py2.5.egg/sqlobject/main.py",
line 1278, in _SO_finishCreate
File
"/diska/data/workspace/PyXtern/Bibliothek/eggs/SQLObject-0.10.4-py2.5.egg/sqlobject/main.py",
line 931, in _init
sqlobject.main.SQLObjectNotFound: The object titles by the ID 0 does not exist
===========================================================
Note the commented code showing ways I have tried to persuade
the object to think about my new key, but clearly it remains focused
on key 0 which does not exist in the database, so the commented
lines did not help. What might be the appropriate remedy for this error?
Again thank you for the timely help,
.....WZ
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss