SQLite SELECT语句在Python中失败

2024-04-26 14:32:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在努力创建一个基本的应用程序,查询我拥有的记录数据库,以建议我下一步该听什么。我当前的草稿要求用户输入他们正在收听的当前唱片集,然后查询数据库以返回相关流派,以及该流派中的其他艺术家。在

我使用c.executec.fetchone()命令两次返回艺术家和流派作品。当我试图设置reclist = c.fetchall()时,代码失败。在

整个过程中最糟糕的部分是我让代码工作了几分钟,然后再回去修改一些东西。我想我已经学会了如何做出“无害”的改变。在

数据库的架构:

sqlite> .schema
CREATE TABLE album (
id INTEGER PRIMARY KEY,
album TEXT
);
CREATE TABLE genre (
id INTEGER PRIMARY KEY,
genre TEXT
);
CREATE TABLE artist (
id INTEGER PRIMARY KEY,
artist TEXT
);
CREATE TABLE aag (
artist_id INTEGER,
album_id INTEGER,
genre_id INTEGER
);

完整的Python代码如下:

^{pr2}$

Tags: key代码textid数据库应用程序albumartist
1条回答
网友
1楼 · 发布于 2024-04-26 14:32:48

我检查了几次代码,并尝试设置变量genre_return = c.fetchone()[0]。这似乎是通过sqlite而不是之前传递的元组将实际的表值传递回。在

我通过将genre_return设置为基于genre.genre的选择以及{}来测试这个方法。查询在这两种情况下都成功地工作。在

我无法解释为什么album_return = str(c.fetchone())代码能够成功地查询数据库(作为一个元组),而我的genre_return不能,但我的问题似乎已经解决了。在

这是一次很好的学习经历。希望这可以帮助其他尝试在python中使用sqlite的人。在

相关问题 更多 >