2010/1/29 BOBÁK Szabolcs <szabolcs.bo...@gmail.com>: > > This also works, but this not: > sql_command_stat = 'SELECT COUNT(lastmoddate) FROM > '+sql_tablename_orig+'WHERE lastmoddate < '+str(lastmod_date1) > sql_cursor.execute(sql_command_stat) > > This was my original try, but tried various in various formula. > sql_command_stat = 'SELECT COUNT(lastmoddate) FROM > '+sql_tablename_orig+'WHERE lastmoddate < %d' > sql_cursor.execute(sql_command_stat, %lastmod_date1) > > sql_command_stat = 'SELECT COUNT(lastmoddate) FROM > '+sql_tablename_orig+'WHERE lastmoddate < (?)' > sql_cursor.execute(sql_command_stat, (lastmod_date1)) > > But always the same error message: > sqlite3.OperationalError: near "<": syntax error > File "C:\python\stat.py", line 42, in <module> > sql_cursor.execute(sql_command_stat) > > From the three attempt I concluded that it's the same if I pass the variable > value as a string or an integer (maybe I am wrong).
Your error isn't where you expect it to be. Let's take a look at the string you're actually passing: >>> sql_tablename_orig = 'pyfilestat_drive_e_2010_01_27_16_48_31' >>> sql_command_stat = 'SELECT COUNT(lastmoddate) FROM >>> '+sql_tablename_orig+'WHERE lastmoddate < %d' >>> sql_command_stat 'SELECT COUNT(lastmoddate) FROM pyfilestat_drive_e_2010_01_27_16_48_31WHERE lastmoddate < %d' well, hello. we seem to be having a missing space, right in between the table name and 'WHERE.' Also, you should use the third form, using the parameters argument of execute(). it's the only secure one. Hugo _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor