我的问题让我非常困惑,我决定最终创建一个帐户并寻求帮助:
我创建了一个名为游戏.db有张桌子叫gamess。当我在db browser中检查它时,我可以看到前面创建的两行。你知道吗
在我的程序中,我连接到gamesapp数据库,执行select*from gamess和fetchall将其打印到HTML上,但是fetchall返回空白列表。你知道吗
代码如下:
con = sql.connect('gamesapp.db')
cur = con.cursor()
cur.execute("select * from gamess")
print cur.fetchall()
我也试过
rows = cur.fetchall()
for row in rows:
print row
没有运气。fetchall()似乎只有在使用
cur.execute(create table...)
这对我来说似乎很奇怪,因为如果我把“gamess”改成别的东西,Python会说没有这样的表,如果我改了数据库名,它会说它不存在——我就是搞不清楚问题出在哪里。你知道吗
这是因为你没有打开你认为是的数据库文件。你知道吗
sql.connect('gamesapp.db')
相对于程序启动的目录。如果您的代码是在web服务器上执行的,谁知道它可能在哪里?但可以肯定的是,这与在命令行上测试代码时不同。(您可以用import os; os.getcwd()
检查)请确保使用数据库文件的完整路径,并确保运行web服务器的用户具有读写权限。你知道吗
相关问题 更多 >
编程相关推荐