我在python中遇到SQLite问题。由于错误
,以下代码似乎不起作用sqlite3.OperationalError:没有这样的列:公司
我正在尝试从两个表中收集数据并使用制表将它们显示回用户,但无法继续,我无法弄清楚如何解决此问题。解决方案可能很简单,但由于我的编程知识有限,我不确定如何继续。
以下是代码:
def view_all_by_CompID(data):
with sqlite3.connect("Clients.db") as db:
cursor = db.cursor()
cursor.execute("""SELECT CompanyID, Forename, Surname, eMail
FROM Clients
JOIN Company
ON Clients.CompanyID = Company.CompanyID
WHERE CompanyID = ?""",(data,))
ViewData = cursor.fetchall()
DataTableCompAndClient([ViewData])
db.commit()
我不确定为什么会发生这种情况,因为我确定两个表都存在且(我相信)正确地调用它们。我不知道为什么它一直给我错误所以任何帮助将不胜感激。以下是有关代码的一些详细信息:
Clients.db =数据库文件的名称
Clients =持有客户信息的表
公司=持有公司信息的表
CompanyID =两个表中都存在指定的公司ID号
我看过这个网站上的各种例子,但我似乎无法解决这个问题。任何建议将不胜感激。
答案 0 :(得分:4)
我已经在朋友的帮助下解决了这个问题。缺少一些需要输入的代码,如下所示:
def view_all_by_CompID(data):
with sqlite3.connect("Clients.db") as db:
cursor = db.cursor()
cursor.execute("""SELECT Clients.CompanyID, Clients.Forename, Clients.Surname, Clients.eMail, Company.CompanyID, Company.CompanyName
FROM Clients
INNER JOIN Company
ON Clients.CompanyID = Company.CompanyID
WHERE Clients.CompanyID = ?""",(data,))
ViewData = cursor.fetchall()
DataTableCompAndClient([ViewData])
db.commit()