首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SQLITE3制作基础数据库

用SQLITE3制作基础数据库
EN

Stack Overflow用户
提问于 2019-06-26 16:01:21
回答 1查看 23关注 0票数 1

我用sqlite3用python创建了一个基本的数据库,它接受3个值并存储它们。现在问题所在是,当我创建一个应该输出值的函数时,终端上没有显示语法错误,也没有打印我的值。我猜这是一个小错误,但我不能发现它。

代码如下:

代码语言:javascript
复制
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())

同样,没有显示任何错误消息,但没有显示我的值。

EN

回答 1

Stack Overflow用户

发布于 2019-06-26 16:19:42

我已经试过了。似乎在insert中不需要单引号。请参见下面修改的内容:

代码语言:javascript
复制
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())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56767993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档