Почему этот код sqlite3 в программе PYTHON 3.7 о сотрудниках и их именах, фамилиях и зарплатах не выводится на печать? - PullRequest
0 голосов
/ 26 мая 2019

У меня есть программа sqlite3, в которой я должен подключиться к базе данных, хранящейся в 'employee.db'. Я введу имя, фамилию и зарплату, а затем напечатаю. Для печати я буду использовать fetchall (). Но когда я печатаю вывод, я получаю вот это ->

[]

только 2 квадратных скобки? Что не так?

Я начал изучать python 2 недели назад. Но мой курс, в котором я учусь, идет слишком быстро. Я не знаю, что я делаю в этой программе, правильный подход или нет?


ЗДЕСЬ МОЙ КОД --- >>>

import sqlite3;


conn=sqlite3.connect('employees.db');
c=conn.cursor();


c.execute("""CREATE TABLE employees(first text,last text,pay integer)""");


c.execute("INSERT INTO employees VALUES('Tendo','Sinha',600000)");
c.execute("INSERT INTO employees VALUES('Krit','Kumar',40000)");



print(c.fetchall());



conn.commit();
conn.close

Я не получаю никакой ошибки. Вывод только показывает: -

[]

Только 2 квадратных скобки.

Ответы [ 2 ]

2 голосов
/ 26 мая 2019

Вы вставляете строки в таблицу, но не извлекаете их вообще.

Попробуйте добавить оператор SELECT:

import sqlite3

conn = sqlite3.connect("employees.db")
c = conn.cursor()

# Create table, insert things...
c.execute(
    """CREATE TABLE IF NOT EXISTS employees(first text,last text,pay integer)"""
)
c.execute("INSERT INTO employees VALUES('Kritin','Sinha',600000)")
c.execute("INSERT INTO employees VALUES('Krit','Kumar',40000)")

# Commit the changes.
conn.commit()

# Retrieve from the table.
c.execute("SELECT * FROM employees")
print(c.fetchall())
0 голосов

вам нужно выполнить запрос для извлечения всех строк.

добавить эти строки в ваш код-

data = c.execute("Select * FROM employees").fetchall()

print(data);
...