Articles of SQLite

Android的sqlite中的where子句?

我无法得到WHERE IN子句在Android SQLite数据库上工作。 有没有什么办法可以在android中执行这样的语句? : SELECT body FROM table1 WHERE title IN ('title1', 'title2', 'title3')

在android中的SQLite数据库中插入数组

我想在数据库中保存工作日,所以我想通过给每一天分配int值来存储它。 即 1 – >选中, 0 – >未选中。 星期一= 0/1 星期二= 0/1 。 。 。 。 。 周日= 0/1。 但是这会使DB中的 7列。 所以我想如果有人可以帮我这个,如果我应该把它存储在一个单一的数组,并检索值进一步使用。 我正在通过互联网阅读一些例子,但没有一个简单的方法。

whereArgs SQLite数据库删除

我试图删除一个sqlite数据库中的几行编程为Android和我想知道什么whereArgs在这个文档中指的是: http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#delete(java.lang.String中,%20java.lang.String,%20java.lang.String []) 有人能给我一个例子吗?

UNIQUE约束失败:sqlite数据库:android

我正试图在表中插入值。 但是只有一个值被插入。 我正在尝试插入新值时遇到了日志猫的错误。 日志猫显示: abort at 13 in [INSERT INTO event(totalminutesfrom,dayofweek,title,location,totalminutesto,id) VALUES (?,?,?,?,?,?)]: UNIQUE constraint failed: event.id 01-24 11:34:39.764 7763-7763/com.example.siddhi.timetablelayout E/SQLiteDatabase: Error inserting totalminutesfrom=694 dayofweek=null title=qxs location=Eded & Mariz totalminutesto=0 id=0 01-24 11:34:39.764 7763-7763/com.example.siddhi.timetablelayout E/SQLiteDatabase: android.database.sqlite.SQLiteConstraintException: UNIQUE constraint failed: event.id (code 1555) 01-24 11:34:39.764 7763-7763/com.example.siddhi.timetablelayout E/SQLiteDatabase: at android.database.sqlite.SQLiteConnection.nativeExecuteForLastInsertedRowId(Native Method) 01-24 11:34:39.764 7763-7763/com.example.siddhi.timetablelayout E/SQLiteDatabase: at android.database.sqlite.SQLiteConnection.executeForLastInsertedRowId(SQLiteConnection.java:782) […]

移动光标时android.database.CursorWindowAllocationException

我使用SQLite数据库,我经常得到运行时错误,我找不到原产地。 查询后,我使用moveToFirst指向检索到的第一个logging,这有时会触发android.database.CursorWindowAllocationExceptionexception。 添加到这个exception是下面的句子:“游标窗口分配2048kb失败。#打开游标= 736(#cursors opendby这个proc = 736)”。 在Android文档中,我还没有发现任何与此exception相关的内容。 有谁知道这是因为和避免它的方法?

IllegalArgumentException:列无效

这里是logcat: 01-15 16:06:03.622: ERROR/AndroidRuntime(22300): Uncaught handler: thread main exiting due to uncaught exception 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mohit.geo2do/com.mohit.geo2do.activities.TaskEdit}: java.lang.IllegalArgumentException: Invalid column due_date 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496) 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): at android.app.ActivityThread.access$2200(ActivityThread.java:119) 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): at android.os.Handler.dispatchMessage(Handler.java:99) 01-15 16:06:03.657: ERROR/AndroidRuntime(22300): at […]

Android的SQLite查询来匹配包含文本的列

试图做一个查询,如果给定的列包含任何内部的文本将返回匹配。 例如,如果我要传递“真正”这个词,那么包含文本“这是一个很长的文本行”的列将会匹配。 到目前为止我的查询只返回,如果它完全匹配,所以它只会匹配一个包含“真正”的列,就是这样。 我已经尝试了一些方法,但都似乎返回相同的结果: 第一种方法(s是我传入的string): Cursor cursor = mDb.query(DATABASE_TABLE, new String[] {KEY_TITLE}, KEY_TITLE + " LIKE '%" + s + "%' COLLATE NOCASE", null, null, null, null); 下一步 String p_query = "SELECT COUNT(*) FROM data WHERE number=? COLLATE NOCASE";

Android的SQLite CREATE TABLE IF NOT EXISTS

创build新表有点问题。 当我使用CREATE TABLE命令时,我的新表格就像它们应该形成的一样,但是当我退出活动时,应用程序崩溃,并且我在logcat中得到了TABLE ALREADY EXISTS。 如果我使用CREATE TABLE IF NOT EXISTS,那么新的表格不会形成,只是将我的新数据行添加到上一个表格,并且不会崩溃。 这有什么问题? 我想添加表没有它给我已经存在,我希望它添加没有它添加行到不同的表。 SqliteHelper类: public class MySQLiteHelper extends SQLiteOpenHelper { public static final String TABLE_NAME = MainActivity.NameName; public static final String COLUMN_ID = "_id"; public static final String COLUMN_COMMENT = "comment"; public static final String COLUMN_LAT = "lat"; public static final String COLUMN_LONG = "long"; public […]

通配符在SQLite中不起作用

我一直试图在android应用程序的search中使用通配符,并不断遇到错误。 我使用下面的string在我的应用程序上执行search: Cursor c_name = b.query("namedrxns", new String[] { "_id", "name" }, "name LIKE %?%", new String[] { query }, null, null, null); 当我使用name LIKE %?%或name=%?%我得到一个“近”%“:语法错误:编译时:SELECT _id,名称FROM namedrxns WHERE名称=%?%”错误。 但name LIKE '%?%'或name='%?%'我改为“绑定或列索引超出范围:句柄0x40cb70” 有人能告诉我我做错了什么吗? 谢谢!

获取更新的行从Android中的SQLite使用原始查询计数?

我怎样才能得到在Android中的SQLite中使用update语句更新的行数? 请注意,我需要使用某种types的SQL语句的原始执行,而不是对ContentValues执行任何操作,因为我需要dynamic查询。 因此我不能使用SQLiteDatabase.update()方法。 例如,我正在运行类似的东西 UPDATE my_table SET field_name = field_name + 1 我知道的方法返回void,例如SQLiteDatabase.execSQL() 。 SQLiteDatabase.rawQuery()返回一个Cursor ,但游标有零行,它的计数总是-1。