2017-02-28 20 views
1

私は初心者です。私はアンドロイド用のqpythonを試してみます。Qpython3、sqlite3がデータベースに接続できません

私はsqlite3のを使用してqpython3でデータベースに接続しよう:

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

私のコード しかし、それはエラーとデータベースファイルを開くことができませんが発生します。

これは何ですか? 私がPCで試してみると、データベースが存在しなければ自動的に作成されます。

+0

のいずれかを使用していませんでした。 – marmeladze

答えて

0

QPythonプログラムは「/」ディレクトリから実行されるため、ルート以外のユーザーには書き込みできません。これはコンソールから実行される次のコードで確認できます。

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() 
関連する問題