2017-02-28 156 views
1

我是初学者,我只是尝试qpython的android。Qpython3,sqlite3无法连接到数据库

我尝试使用sqlite3的在qpython3连接数据库: 我的代码

import sqlite3 
conn=sqlite3.connect('mydatabase.db') 

但它会引发错误,无法打开数据库文件。

任何解决方案?? 如果我尝试在PC上,它会自动创建一个数据库,如果不存在

+0

没有用过Android的既不也不qpython但你可能要检查,如果你的脚本有正确的权限写入到该文件夹​​。 – marmeladze

回答

0

它不起作用的原因是,QPython程序从'/'目录运行,当然不能写入非root用户。您可以使用从控制台运行的以下代码进行检查。

import os 
print(os.getcwd()) 

如果你去ftp实用的关于菜单,你会发现,正在使用的QPython3目录路径。在我的HTC手机,它是:

/storage/emulated/0/com.hipipal.qpyplus 

所以我改变了你的例子代码:

import os 
import sqlite3 
RootPath='/storage/emulated/0/com.hipipal.qpyplus' 
conn=sqlite3.connect(os.path.join(RootPath,'mydatabase.db')) 

,它为我工作得很好。

我还发现有必要提交更改,否则它们不会写入文件。也就是说,最终的方案:

conn.commit() 
conn.close()