我对python中的sqlite有问题。由于错误,下列代码似乎不起作用
sqlite3.operational错误:没有这样的列:company
我试图从这两个表中收集数据,并使用tablete将它们显示回用户,但无法继续,也无法找到解决此问题的方法。解决方案可能很简单,但由于我有限的编程知识,我不确定如何继续。
代码如下:
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=保存客户信息的表
公司=保存公司信息的表
company id=两个表中都存在指定的公司ID号
我在这个网站上看过很多例子,但是我似乎无法解决这个问题。任何建议都将不胜感激。
最佳答案
我在朋友的帮助下解决了这个问题。有几行代码丢失,需要输入,如下所示:
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()