On 26/09/14 12:58, Brave Heart wrote:
File "C:/Python34/cash.py", line 339, in add_func os.chdir(sqlite3_path) FileNotFoundError: [WinError 2] The system cannot find the file specified: 'C:/sqlite3/'
I assume you have checked that the folder exists? and that you (ie. the user running the program) have permission to go there?
def add_func(dt, ds, at): '''Insert data into db(L2)''' sql_insert = """ INSERT INTO expenses (date, desc, amount) VALUES ('%s', '%s', '%s') """ % (dt, ds, at) os.chdir(sqlite3_path) # open connection to database try: cx = sqlite.connect(database) except sqlite.Error(errmsg): print ("Can not open ") +str(errmsg) # insert data into table try: cu = cx.cursor() cu.execute(sql_insert) cx.commit() except sqlite.Error(errmsg): print ("Can not execute: ") +str(errmsg) # close connection cx.close()
BTW Its probably better to set the database to the full path rather than change into the folder for every access of the database.
In fact I usually just open the database once at the start of my program. The data functions then only need to create a cursor (in fact I often keep the cursor open too!). That reduces the work in each function and the duplication of code although you could put the open and cursor code into a function called by the other data functions - that would help with maintenance in future. -- Alan G Author of the Learn to Program web site http://www.alan-g.me.uk/ http://www.flickr.com/photos/alangauldphotos _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor