0
Я пытаюсь использовать sqlite3.connect.cursor.execute в Python для управления базой данных, но не уверен, как правильно построить инструкцию SELECT, чтобы имя tb в коде ниже может быть правильно прочитан как переменная.Python sqlite3, обратитесь к переменной в инструкции выполнения
Я попытался оставить tbname за пределами кавычки окончания, надеясь, что таким образом Python знает, что tbname является переменной. Однако код не работает. Есть идеи?
def print_col(dbname, tbname):
conn = sqlite3.connect(dbname)
c = conn.cursor()
c.execute('SELECT sql FROM sqlite_master WHERE type = \'table\' AND tbl_name = '+ tbname)
print c.fetchall()
conn.close()
Какую ошибку вы получаете? Как вы называете print_col? –
Привет, я попал под ошибку: c.execute ('SELECT sql FROM sqlite_master WHERE type = \' table \ 'AND tbl_name =' + tbname) OperationalError: no такой столбец: подробности – z257
И я вызываю функцию print_col, задавая для пользователя: dbname2 = raw_input ('Введите имя базы данных (grades.db/program.db):') tbname2 = raw_input ('Введите имя таблицы (курсы/детали):') print_col (dbname2 , tbname2) – z257