Articles of SQLite

如何检查Android SQLite数据库中是否存在表?

我有一个android应用程序,需要检查数据库中是否有logging,如果没有,处理一些事情并最终插入它,如果数据存在,只需从数据库中读取数据。 我使用SQLiteOpenHelper的子类来创build并获得一个SQLiteDatabase的可重写实例,我认为自动照顾创build该表,如果它不存在(因为要做的代码是在onCreate(… ) 方法)。 但是,当表尚不存在,第一种方法运行SQLiteDatabase对象我有一个调用查询(…),我的logcat显示错误“我/数据库(26434):sqlite返回:错误代码= 1,味精=没有这样的表:appdata“,果然,没有创buildappdata表。 任何想法为什么? 我正在寻找一种方法来testing表是否存在(因为如果不存在,数据当然不在其中,我不需要读取它,直到我写入它,这似乎创build表正确),或确保它被创build的方式,只是空的,及时的第一次调用查询(…) 编辑 这是后面的两个答案发布: 我想我可能已经find了问题。 由于某种原因,我决定为每个表创build一个不同的SQLiteOpenHelper,尽pipe它们都访问同一个数据库文件。 我认为重构该代码只使用一个OpenHelper,并创build两个表内的onCreate可能会更好地工作…

我如何将SQLite数据库embedded到应用程序中?

我觉得我有一些基本的理解问题,所以也许有人能够帮助:-) 我正在开发一个使用Eclipse的Android应用程序,这个应用程序将使用一个数据库(只有从数据库读取将被实施)。 该数据库包含大约4000个条目,即通过源代码创build和填充数据库不是一个选项。 因此,我已经提前创build了所有logging的数据库。 但是,我怎样才能将这个数据库文件“embedded”到我的应用程序中,然后访问它呢? 数据库大小约为500 kB。 从远程服务器下载不是一个选项,因为这是不允许的。 谢谢你,罗伯特

在Android中将.csv文件导入Sqlite

我有一个.csv文件,我想导入这个文件放入我的数据库在Android中。 例如,.csv文件: | id | name | dt1 | dt2 | dt3 | | 1 | Paul | 21 | 98 | 91 | | 2 | John | 22 | 44 | 11 | | 3 | George| 21 | 31 | 22 | | 4 | Ringo | 20 | 10 | 15 […]

如何将JSON对象存储在SQLite数据库中

如何在SQLite数据库中存储JSON对象? 什么是正确的方法? 一个地方是blobtypes的列。 如果我可以将JSON对象转换为字节数组并使用Fileoutputstream 另一个想法是将其作为string存储在文本列中 import org.json.JSONObject; JSONObject jsonObject; public void createJSONObject(Fields fields) { jsonObject = new JSONObject(); try { jsonObject.put("storedValue1", fields.storedValue1); jsonObject.put("storedValue2", fields.storedValue2); jsonObject.put("storedValue3", fields.storedValue3); jsonObject.put("storedValue4", fields.storedValue4); jsonObject.put("storedValue5", fields.storedValue5); jsonObject.put("storedValue6", fields.storedValue6); } catch (JSONException e) { e.printStackTrace(); } }

android java.lang.IllegalStateException:无法从CursorWindow读取第0行,第0列

我正在开发一个应用程序下载一些文件,并将其文件保存在file_content字段数据库。 文件大小可以从一些KB到10 MB不等。 该应用程序适用于所有尺寸的同时保存。 在长file_contentlogging上使用select语句时会发生此问题。 它给 java.lang.IllegalStateException:无法从CursorWindow读取第0行,第0列 当获取这样的行时。 字段内容大小是否有限制? 如果是这样,那么为什么它让我们在检索时保存并给出错误? 这是我的代码片断获取行: public String getFileContent(MyFile gc) { if(!isDBOpen()) { open(); } try { String mQuery = "SELECT * FROM " + DBOpenHelper.TABLE_SAVED_FILES + " WHERE " + DBOpenHelper.COLUMN_ID + " = " + gc.id; Cursor mCursor = database.rawQuery(mQuery, null); if(mCursor.getCount() <= 0) { return null; } […]