Articles of SQLite

在Android中,检查sqlite数据库是否存在失败

在Android中,我使用以下方法来查看sqlite数据库是否存在,以及是否可以打开并使用它。 如果testing失败,我从资产中复制数据库文件(这应该只发生一次,当用户第一次启动应用程序)。 /* * Check if the database already exist to avoid re-copying the file each time you open the application. * @return true if it exists, false if it doesn't */ private boolean checkDataBase() { SQLiteDatabase checkDB = null; try { String myPath = DB_PATH + DB_NAME; checkDB = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READONLY); } catch(SQLiteException […]

如何在Android上获得表格列arrays表?

我在代码后得到Android中的表的可用列名称? 我环顾四周,没有find任何东西。

Android:带有通配符的SQL rawQuery(%)

我有一个rawQuery()以下的SQLstring类似于这样的: selectionArgs = new String[] { searchString }; Cursor c = db.rawQuery("SELECT column FROM table WHERE column=?", selectionArgs); 但现在我必须在search中包含一个通配符,所以我的查询看起来像这样: SELECT列FROM表WHERE列LIKE'searchstring%' 但是,当查询包含单引号引发以下SQLiteexception: android.database.sqlite.SQLiteException: bind or column index out of range 我怎样才能运行一个rawquery selectArgs内的通配符元素的SQL查询?

Android的Sqlite – “没有这样的表”的错误

我正在尝试学习Sqlite数据库,但我真的很讨厌处理任何后端的东西,充满激情。 我已经用一个看起来很简单的问题碰壁了。 这里是我认为从DatabaseHelper类重要的代码 public class DatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "Library"; public static final String TABLE_NAME = "books"; public static final String TITLE = "title"; public static final String AUTHOR = "author"; public static final String ISBN = "isbn"; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, 1); } @Override public […]

Android表创build失败(接近“自动增量”:语法错误)?

public static final String MYDATABASE_NAME = "MY_DATABASE"; public static final String MYDATABASE_TABLE = "MY_TABLE"; public static final String MYDATABASE_TABLE2 = "MY_TABLE2"; public static final int MYDATABASE_VERSION = 1; public static final String KEY_ID = "_id"; public static final String KEY_ID2 = "_id2"; public static final String KEY_CONTENT1 = "Content1"; public static final String KEY_CONTENT2 = […]

用SQLite中的数据填充ExpandableListView

设置:我有一个本地的SQLite数据库,包含电影放映时间。 一些列是“date”,“ID”,“时间”… 意图:我想把所有这些放映时间放到ExpandableListView中,而date将是父项目。 问题:没有显示。 一点都没有 我很难理解为什么。 有没有人有一个想法? 一些代码:最重要的东西是在顶部,越来越不重要,当你向下滚动… 这是我试图实现这与在Activity的onCreate()中调用的代码: String sql = "SELECT rowid _id,* FROM " + Statics.DBSHOWS + ";"; Cursor movieCursor = database.rawQuery(sql,null); movieCursor.moveToFirst(); adapter = new ExpandableListAdapter(movieCursor, this, android.R.layout.simple_list_item_1, android.R.layout.simple_list_item_2, new String[]{Statics.DBSHOWS_DATE}, new int[]{android.R.id.text1}, new String[]{Statics.DBSHOWS_TIME, Statics.DBSHOWS_ID}, new int[]{android.R.id.text1, android.R.id.text2}); movieListView.setAdapter(adapter); 这是我的ExpandableListAdapter: public class ExpandableListAdapter extends SimpleCursorTreeAdapter { Context context; public ExpandableListAdapter(Cursor […]

在使用CONFLICT_REPLACE插入时,SQLiteException“无法提交 – 没有事务处于活动状态”

我更新我的数据库有一些麻烦。 这是日志: 12-02 16:18:57.502: D/Data Update(21218): Start updating databases 12-02 16:18:57.502: D/Data Update(21218): update size: 5 12-02 16:18:57.502: D/Data Update(21218): updating table cemeteries 12-02 14:28:51.877: I/SqliteDatabaseCpp(18826): sqlite returned: error code = 1802, msg = statement aborts at 13: [INSERT OR REPLACE INTO cemeteries(id,name) VALUES (?,?)] , db=/data/data/de.l_one.app.shaufelv14/databases/poidatabase 12-02 14:28:51.877: E/SQLiteStatementCpp(18826): native_execute (step): errno = 2, […]

尝试查询列时被删除的列无效

我想在我的android应用程序中执行以下查询: private static final String[] PROJECTION = { Data.CONTACT_ID, Data.MIMETYPE, Data.DISPLAY_NAME, Phone.NUMBER, Phone.TYPE, StructuredName.GIVEN_NAME, StructuredName.MIDDLE_NAME, StructuredName.FAMILY_NAME, Data.DELETED }; private static final String SELECTION = "(" + Data.MIMETYPE + " = ? AND " + Phone.TYPE + " IN (?,?,?)) OR (" + Data.MIMETYPE + " IN (?))"; private static final String[] SELECTION_ARGS = { Phone.CONTENT_ITEM_TYPE, […]

SQLite光标如何在内部工作?

我正在开发一个需要在桌面上存储位图的项目。 这些位图用于数据适配器以在列表中显示。 该表格可能包含超过1000个图像。 我目前没有存储到文件的原因是因为我可以读取和写入图像的速度有多快。 我最基本的要求是了解SQLite游标的限制。 游标如何加载到内存中? 它将查询结果放在内存中还是创build一些types的临时读/写文件? 我不想遇到查询大数据集导致设备内存不足的问题。

在sqlite中创build多个表的问题

我正在使用下面的代码在数据库中创build多个表。 但是,我不明白为什么会出现这个问题。 private static final String TABLE_SMSFilter = "SMSFilter"; public void onCreate(SQLiteDatabase db) { Log.d("Test", "Control is in Oncreate()"); String CREATE_SMSSSCHEDULE_TABLE = "CREATE TABLE " + TABLE_SMSSchedule + "(" + KEY_ID + " INTEGER PRIMARY KEY autoincrement," + KEY_NUMBER + " TEXT)"; String CREATE_PROFILE_SCHEDULE_TABLE = "CREATE TABLE " + TABLE_ProfileSchedule + "(" + ProfileSchedule_ID + […]