我使用这段代码来处理SQLite。
在我更新到Android6.0之前,它运行得很好,但是现在它崩溃了。
在MyParam类中
public static SQLiteDatabase dbMyCount;
public static String DB_Path_MyCount = "/sdcard/GMS/MyCount.db";论MainActivity
MyParam.dbMyCount = this.openOrCreateDatabase(MyParam.DB_Path_MyCount, MODE_WORLD_WRITEABLE, null);
SQL = "CREATE TABLE IF NOT EXISTS MyCount(_id INTEGER PRIMARY KEY AUTOINCREMENT,Tdate VARCHAR,Cust VARCHAR,";
SQL += "Prog VARCHAR,CustCode VARCHAR,OpenCode VARCHAR,Memo VARCHAR)";
MyParam.dbMyCount.execSQL(SQL);我还更新了我的宣言:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />但还是有错误:
错误代码: 1294 (SQLITE_CANTOPEN_ENOENT)导致:指定的目录或数据库文件不存在。(未知错误(代码1294):无法打开数据库)
我在网上搜索,找不到任何答案或解决方案。
谢谢。
发布于 2016-03-26 21:03:30
请遵照CommonsWare的建议。但是对于棉花糖,比如Android6.0和更高版本,您需要请求运行时权限。请看下面的链接
http://developer.android.com/training/permissions/requesting.html
仅在清单中根据android的新运行时权限在不足够的情况下指定。
https://stackoverflow.com/questions/36240794
复制相似问题