mirror of
				https://github.com/python/cpython.git
				synced 2025-11-04 07:31:38 +00:00 
			
		
		
		
	svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r86670 | eric.araujo | 2010-11-22 04:09:19 +0100 (lun., 22 nov. 2010) | 5 lines Remove unnecessary `object` base class in docs (#10366). Also add a note about inheritance from `object` being default. ........
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import sqlite3
 | 
						|
 | 
						|
class Point:
 | 
						|
    def __init__(self, x, y):
 | 
						|
        self.x, self.y = x, y
 | 
						|
 | 
						|
    def __repr__(self):
 | 
						|
        return "(%f;%f)" % (self.x, self.y)
 | 
						|
 | 
						|
def adapt_point(point):
 | 
						|
    return "%f;%f" % (point.x, point.y)
 | 
						|
 | 
						|
def convert_point(s):
 | 
						|
    x, y = list(map(float, s.split(";")))
 | 
						|
    return Point(x, y)
 | 
						|
 | 
						|
# Register the adapter
 | 
						|
sqlite3.register_adapter(Point, adapt_point)
 | 
						|
 | 
						|
# Register the converter
 | 
						|
sqlite3.register_converter("point", convert_point)
 | 
						|
 | 
						|
p = Point(4.0, -3.2)
 | 
						|
 | 
						|
#########################
 | 
						|
# 1) Using declared types
 | 
						|
con = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_DECLTYPES)
 | 
						|
cur = con.cursor()
 | 
						|
cur.execute("create table test(p point)")
 | 
						|
 | 
						|
cur.execute("insert into test(p) values (?)", (p,))
 | 
						|
cur.execute("select p from test")
 | 
						|
print("with declared types:", cur.fetchone()[0])
 | 
						|
cur.close()
 | 
						|
con.close()
 | 
						|
 | 
						|
#######################
 | 
						|
# 1) Using column names
 | 
						|
con = sqlite3.connect(":memory:", detect_types=sqlite3.PARSE_COLNAMES)
 | 
						|
cur = con.cursor()
 | 
						|
cur.execute("create table test(p)")
 | 
						|
 | 
						|
cur.execute("insert into test(p) values (?)", (p,))
 | 
						|
cur.execute('select p as "p [point]" from test')
 | 
						|
print("with column names:", cur.fetchone()[0])
 | 
						|
cur.close()
 | 
						|
con.close()
 |