On Jun 20, 2010, at 5:53 PM, Aref wrote: >> >>>>> db = SqlSoup('sqlite:///c:\\tutorial.db3') >>>>> db_dynamic = 'tf_user' >>>>> DB = db.entity(db_dynamic) >>>>> print DB >>>>> ColHeader = DB.c.keys() >>>>> conn = db.connection() >>>>> #modify a field >>>>> DB.password = 'hello' >>>>> db.flush()
It appears you're using a method called entity(), which would return a handle to the current table called "tf_user" in this case. To modify a row, you need to load the row first. You do this with filter(), first(), one(), etc. It seems here you're tacking on the word "hello" to the query object itself which would have no effect. Examples of loading actual rows at http://www.sqlalchemy.org/docs/reference/ext/sqlsoup.html?highlight=sqlsoup#loading-objects. The tutorial here seems to use the special variable "_", which is unfortunate (I didn't write any of this), but it implies the row that was previously loaded via one(). thats the thing you change. >> >>>>> #get the table data >>>>> data = select([db.tf_user],) >>>>> listdata=[] >>>>> for row in conn.execute(data): >>>>> row = ["%s" % el for el in row] >>>>> listdata.append(row) >>>>> print listdata >> >>>>> which is supposed to modify the value of the password field in a database >>>>> to 'hello'. However, when I examine the database nothing has changed, the >>>>> old value is still there. What am I doing wrong? What is the best way to >>>>> update or modify fields? I can't seem to find anything substantial >>>>> regarding SQLSoup. >> >>>> you need to commit() the transaction. The current 0.6 docs describe >>>> this:http://www.sqlalchemy.org/docs/reference/ext/sqlsoup.html?highlight=s...Hide >>>> quoted text - >> >>>> - Show quoted text - >> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "sqlalchemy" group. >>> To post to this group, send email to sqlalch...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> sqlalchemy+unsubscr...@googlegroups.com. >>> For more options, visit this group >>> athttp://groups.google.com/group/sqlalchemy?hl=en.- Hide quoted text - >> >> - Show quoted text - > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalch...@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.