Я хочу вставить данные в таблицу, созданную с помощью SQLite. Большая часть кода конвертирует мои массивы в одну строку для con.excute (). Может в этом проблема? Есть ли способ лучше? Ошибка не возвращается.
def add_row(table, columns, values):
con = sql_connection("database.db")
cursorObj = con.cursor()
# column list to string
if isinstance(columns, list) == True:
columns = ", ".join(columns)
# wrap each string in list with '' and convert whole list to string
if isinstance(values, list) == True:
for i in range(0, len(values)):
if isinstance(values[i], str) == True:
values[i] = "'" + values[i] + "'"
values = ", ".join(values)
try:
cmd = "insert into " + table + "(" + columns + ") values (" + values + ")"
print(cmd)
cursorObj.execute(cmd)
except sqlite3.Error as e:
print("An error occurred:", e.args[0])
add_row("Stocks", ["symbol", "name"], ["TEST", "test"])
вывод на печать (cmd):
insert into Stocks (symbol, name) values ('TEST', 'test')
РАЗЪЯСНЕНИЕ: меня не волнуют проблемы безопасности. Он будет использоваться только локально.