1
我是初學者,我只是嘗試qpython的android。Qpython3,sqlite3無法連接到數據庫
我嘗試使用sqlite3的在qpython3連接數據庫: 我的代碼
import sqlite3
conn=sqlite3.connect('mydatabase.db')
但它會引發錯誤,無法打開數據庫文件。
任何解決方案?? 如果我嘗試在PC上,它會自動創建一個數據庫,如果不存在
我是初學者,我只是嘗試qpython的android。Qpython3,sqlite3無法連接到數據庫
我嘗試使用sqlite3的在qpython3連接數據庫: 我的代碼
import sqlite3
conn=sqlite3.connect('mydatabase.db')
但它會引發錯誤,無法打開數據庫文件。
任何解決方案?? 如果我嘗試在PC上,它會自動創建一個數據庫,如果不存在
它不起作用的原因是,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()
沒有用過Android的既不也不qpython但你可能要檢查,如果你的腳本有正確的權限寫入到該文件夾。 – marmeladze