Image

Imagesantorio wrote in Imageru_python

Category:

sqlite3

Есть какой-нибудь способ формировать строку запроса через параметры,где задавать имя таблицы, формат параметров и значения параметров? Не хватает универсальности, для разных таблиц приходится писать разные запросы.

В документации есть два способа передачи параметров (рекомендованных): в конце запроса в виде (?,?), и после знака '=' в запросе на выборку.

inserts = (value01,value02)
cursor.execute("""insert into table_01 values (?, ?);""", inserts)

cursor.execute('SELECT * FROM table_01 WHERE name=?', (name,))



Ниже просто фантазии...

table = "name_table"
colFormat = numColumn(N) # формирует строку вида (?,?,?,...,?N)
dataFormat = (*args)
cur.execute('INSERT INTO table VALUES colFormat', (table,dataFormat))