如何解决Sqlite DB索引错误

时间:2017-03-06 07:12:55

标签: sqlite web2py ubuntu-16.04

在Ubuntu中使用Web2py和sqlite Db。 Iweb2py,用户输入将项目发布到sqlite DB,例如“Hello World”,如下所示: 在控制器默认情况下,项目将发布到ThisDb中,如下所示:

consult = db.consult(id) or redirect(URL('index'))
form1 = [consult.body]
form5 = form1#.split()
name3 = ' '.join(form5)
conn = sqlite3.connect("ThisDb.db")
c = conn.cursor()
conn.execute("INSERT INTO INPUT (NAME) VALUES (?);", (name3,))
conn.commit()

另一个代码选择或应该读取ThisDb中的项目,在本例中为“Hello World”,如下所示:

location = ""
conn = sqlite3.connect("ThisDb.db")
c = conn.cursor()
c.execute('select * from input')
c.execute("select MAX(rowid) from [input];")
for rowid in c:break
for elem in rowid:
    m = elem
    c.execute("SELECT * FROM input WHERE rowid = ?", (m,))
    for row in c:break
    location = row[1]
    name = location.lower().split()

我的数据库配置表'input'应该从中读取Hello World':

CREATE TABLE `INPUT` (
    `NAME`  TEXT
);

此代码以前在使用windows7和10进行编码时工作得很好,但我遇到了Ubuntu 16.04这个问题。我一直收到这个错误:

File "applications/britamintell/modules/xxxxxx/define/yyyy0.py", line 20, in xxxdefinition
    location = row[1]
IndexError: tuple index out of range

1 个答案:

答案 0 :(得分:0)

row[0]是第一列中的值 row[1]是第二列中的值。

显然,您以前的数据库有多个列。