Qpython3,sqlite3无法连接数据库

时间:2017-02-28 09:48:24

标签: sqlite qpython3

我是初学者,我只是尝试qpython for android。

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

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

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

任何解决方案? 如果我尝试使用pc,它会自动创建一个数据库(如果不存在)

1 个答案:

答案 0 :(得分: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()