【问题标题】:Qpython3, sqlite3 can't connect to databaseQpython3、sqlite3无法连接数据库
【发布时间】:2017-02-28 09:48:24
【问题描述】:

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

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

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

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

有什么解决办法吗?? 如果我在电脑上尝试,如果不存在,它会自动创建一个数据库

【问题讨论】:

  • 既没有使用过 android,也没有使用过 qpython,但您可能想检查您的脚本是否具有写入该文件夹的正确权限。

标签: sqlite qpython3


【解决方案1】:

它不起作用的原因是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()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    相关资源
    最近更新 更多