我们从Python开源项目中,提取了以下20个代码示例,用于说明如何使用sqlite3.paramstyle()。
def aparam(): """ Returns the appropriate string to be used to interpolate a value with the current `web.ctx.db_module` or simply %s if there isn't one. >>> aparam() '%s' """ if hasattr(web.ctx, 'db_module'): style = web.ctx.db_module.paramstyle else: style = 'pyformat' if style == 'qmark': return '?' elif style == 'numeric': return ':1' elif style in ['format', 'pyformat']: return '%s' raise UnknownParamstyle, style
def _db_execute(self, cur, sql_query): """executes an sql query""" self.ctx.dbq_count += 1 try: a = time.time() paramstyle = getattr(self, 'paramstyle', 'pyformat') out = cur.execute(sql_query.query(paramstyle), [self._py2sql(x) for x in sql_query.values()]) b = time.time() except: if self.printing: print >> debug, 'ERR:', str(sql_query) if self.ctx.transactions: self.ctx.transactions[-1].rollback() else: self.ctx.rollback() raise if self.printing: print >> debug, '%s (%s): %s' % (round(b-a, 2), self.ctx.dbq_count, str(sql_query)) return out
def CheckParamStyle(self): self.assertEqual(sqlite.paramstyle, "qmark", "paramstyle is '%s', should be 'qmark'" % sqlite.paramstyle)
def get_marker(self, paramstyle='pyformat'): if paramstyle == 'qmark': return '?' elif paramstyle == 'numeric': return ':1' elif paramstyle is None or paramstyle in ['format', 'pyformat']: return '%s' raise UnknownParamstyle, paramstyle
def query(self, paramstyle=None): """ Returns the query part of the sql query. >>> q = SQLQuery(["SELECT * FROM test WHERE name=", SQLParam('joe')]) >>> q.query() 'SELECT * FROM test WHERE name=%s' >>> q.query(paramstyle='qmark') 'SELECT * FROM test WHERE name=?' """ s = '' for x in self.items: if isinstance(x, SQLParam): x = x.get_marker(paramstyle) s += x return s
def _param_marker(self): """Returns parameter marker based on paramstyle attribute if this database.""" style = getattr(self, 'paramstyle', 'pyformat') if style == 'qmark': return '?' elif style == 'numeric': return ':1' elif style in ['format', 'pyformat']: return '%s' raise UnknownParamstyle, style
def __init__(self, **keywords): if 'pw' in keywords: keywords['password'] = keywords['pw'] del keywords['pw'] db_module = self.get_db_module() keywords['database'] = keywords.pop('db') self.dbname = "postgres" self.paramstyle = db_module.paramstyle DB.__init__(self, db_module, keywords) self.supports_multiple_insert = True
def __init__(self, **keywords): try: import sqlite3 as db db.paramstyle = 'qmark' except ImportError: try: from pysqlite2 import dbapi2 as db db.paramstyle = 'qmark' except ImportError: import sqlite as db self.paramstyle = db.paramstyle keywords['database'] = keywords.pop('db') self.dbname = "sqlite" DB.__init__(self, db, keywords)
def __init__(self, **keywords): import cx_Oracle as db if 'pw' in keywords: keywords['password'] = keywords.pop('pw') #@@ TODO: use db.makedsn if host, port is specified keywords['dsn'] = keywords.pop('db') self.dbname = 'oracle' db.paramstyle = 'numeric' self.paramstyle = db.paramstyle # oracle doesn't support pooling keywords.pop('pooling', None) DB.__init__(self, db, keywords)