首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError:“TypeError”对象没有特性“”__getitem__“”

TypeError:“TypeError”对象没有特性“”__getitem__“”
EN

Stack Overflow用户
提问于 2013-02-08 02:22:21
回答 2查看 3.6K关注 0票数 0

我使用以下代码在系统中进行预订,但它返回错误:

代码语言:javascript
复制
conn = sqlite3.connect('SADS.db')
cur = conn.cursor()
choice = raw_input("What day would you like to book seats on? F/S : ")
if choice == "F":
    bookseats = [0,1]
    print"What seats would you like to book?"
    bookseats[0] = raw_input("Choice : ")
    bookseats[1] = raw_input("What is their user ID? : ")
    cur.execute("SELECT * FROM seats WHERE Booked='N'")
    rows = cur.fetchone()
    for row in rows:
        if row == None:
            break
        elif row[1] == bookseats[0] and row[4] == "N" and row[3] == "F":
            print "Seat Number:" , row[1] ,"Is now booked!"
            cur.execute("UPDATE seats SET Booked =N AND CustID=?", (bookseats[0]))

错误:

代码语言:javascript
复制
TypeError: 'float' object has no attribute '__getitem__'

我真的很困惑这个错误是什么,以及我如何修复它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-02-08 02:26:29

您正在循环遍历rows = cur.fetchone()的结果,它只检索一行。删除该行并直接在光标上循环:

代码语言:javascript
复制
cur.execute("SELECT * FROM seats WHERE Booked='N'")
for row in cur:

您也不需要测试row == None,也不需要测试Booked列是否等于N。将循环简化为:

代码语言:javascript
复制
cur.execute("SELECT * FROM seats WHERE Booked='N' AND CustID=?", (bookseats[0],))
row = cur.fetchone()
if row is not None and row[3] == "F":
    print "Seat Number:" , row[1] ,"Is now booked!"
    cur.execute("UPDATE seats SET Booked =N AND CustID=?", (bookseats[0]))

您可以向数据库请求与您的bookseats[0]列匹配的行,并且第三列设置为F。您没有向我们展示您的模式,因此很难建议您如何针对该模式更新查询。

您的UPDATE查询不正确,您的意思可能是:

代码语言:javascript
复制
cur.execute("UPDATE seats SET Booked='Y' WHERE CustID=?", (bookseats[0],))

而不是。

票数 2
EN

Stack Overflow用户

发布于 2013-02-08 02:27:16

fetchone不返回行的列表,而是只返回一行,所以这是不正确的:

代码语言:javascript
复制
rows = cur.fetchone()
for row in rows:

相反,这样做:

代码语言:javascript
复制
row = cur.fetchone()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14758239

复制
相关文章

相似问题

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