View Single Post
  #1  
Old 01-30-2016, 03:22 AM
VizMars VizMars is offline
Member
 
Join Date: Jan 2016
Posts: 40
Access database in (non-main) thread

Hi,

when I execute my code (simplified code stated below) I get this error:
sqlite3.ProgrammingError: SQLite objects created in a thread can only be used in that same thread.The object was created in thread id 6596 and this is thread id 5748

But when I'm running the exact same code in Vizards main thread it works just fine. So what am I doing wrong or do I have to use another way to store data in a database from a separate (non-main) thread?


Code:
	def example():			
		con = sqlite3.connect("test.db") 
		
		con.execute("""
			CREATE TABLE tbl_01(
			test TEXT)
		""") 		
		
		def onKeyDown(key): 		
			if key == viz.KEY_UP:				
				con.execute("""
					INSERT INTO tbl_01
					VALUES(?)
				""", "t")
	
				con.commit()
				
		viz.callback(viz.KEYDOWN_EVENT,onKeyDown)
	
	viz.director(example)
Reply With Quote