Базовая база данных, созданная с помощью SQLITE3 - PullRequest
1 голос
/ 26 июня 2019

Я создал базовую базу данных на python с sqlite3, которая принимает 3 значения и сохраняет их.Теперь проблема заключается в том, что когда я создал функцию, которая должна выводить значения, на терминале не отображались синтаксические ошибки и не печаталось ни одно из моих значений.Я предполагаю, что это небольшая ошибка, но я не могу ее обнаружить.

Код указан ниже:

import sqlite3

def create_table():
    conn = sqlite3.connect("lite.db")    
    cur = conn.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS store (item TEXT, quantity 
    INTEGER, price FLOAT)")
    conn.commit()
    conn.close()

def insert(item, quantity, price):
    conn = sqlite3.connect("lite.db")
    cur = conn.cursor()
    cur.execute("INSERT INTO store VALUES ('?, ?, ?')", (item, quantity, 
    price))
    conn.commit()
    conn.close()

insert("Mug", 8, 6)

def view():
    conn = sqlite3.connect("lite.db")
    cur = conn.cursor()
    cur.execute("SELECT * FROM store")
    rows = cur.fetchall()
    conn.close()
    return rows

print(view())

Снова сообщения об ошибках не отображаются, но мои значения не отображаются.

1 Ответ

1 голос
/ 26 июня 2019

Я попробовал это.кажется, что одинарные кавычки не нужны в insert.См. Измененный ниже:

import sqlite3

def create_table():
    conn = sqlite3.connect("lite.db")    
    cur = conn.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS store (item TEXT, quantity INTEGER, price FLOAT)")
    conn.commit()
    conn.close()

def insert(item, quantity, price):
    conn = sqlite3.connect("lite.db")
    cur = conn.cursor()
    cur.execute("INSERT INTO store VALUES (?,?,?)", (item, quantity, price))
    conn.commit()
    conn.close()


def view():
    conn = sqlite3.connect("lite.db")
    cur = conn.cursor()
    cur.execute("SELECT * FROM store")
    rows = cur.fetchall()
    conn.close()
    return rows
create_table()
insert("Mug", 1, 5)
print(view())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...