Articles of SQLite

Android:表没有名为“variables名”的列MySql数据库错误

当我尝试在我的数据库中添加一个新条目时,我得到的错误就像下面显示的那样。 我现在搜索它几个小时,但我无法发现错误。 任何输入都会很棒! 这是LogCat的错误 。 02-27 23:02:51.451: E/SQLiteLog(6777): (1) table dager has no column named brutto 02-27 23:02:51.451: E/SQLiteDatabase(6777): Error inserting brutto=0 date=21.03.2013 hours=4 02-27 23:02:51.451: E/SQLiteDatabase(6777): android.database.sqlite.SQLiteException: table dager has no column named brutto (code 1): , while compiling: INSERT INTO dager(brutto,date,hours) VALUES (?,?,?) 02-27 23:02:51.451: E/SQLiteDatabase(6777): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 02-27 23:02:51.451: E/SQLiteDatabase(6777): at […]

返回variablesSqlite,Android,Java中的记录数

我的最终目标是限制能够创建的记录,以便我可以拥有我的应用程序的试用版。 我想我可以通过在sqlite count语句中返回一个intvariables,并使用一个简单的IF语句来确定是否应该创建一个新记录。 我打电话是这样的: int jcount = 0; mDbHelper.countjournals(jcount); 现在我正在尝试执行此操作 public int countjournals(int jcount){ mDb.execSQL(jcount +“= SELECT COUNT(*)FROM”+ DATABASE_JOURNAL_TABLE); return jcount; } 我收到的错误: 08-27 22:42:32.417:ERROR / AndroidRuntime(3976):android.database.sqlite.SQLiteException:接近“0”:语法错误:0 = SELECT COUNT(*)FROM journals

如何在android上添加限制子句来管理

Android的API通过SQLite提供了一个干净的机制来查询联系人列表。 但是,我不确定如何限制结果: Cursor cur = ((Activity)mCtx).managedQuery( People.CONTENT_URI, columns, “LIMIT ? OFFSET ?”, new String[] { Integer.toString(limit), Integer.toString(offset) }, null ); 不起作用。

Android SQLite – 除Strings之外的selectionArgs

我有一个包含BLOB列的表(它只有16个字节)。 我想运行SELECT * FROM myTable WHERE blobColumn = ?forms的查询 并将字节数组绑定到该列。 理想情况下,我可以说myDatabase.rawQuery(“SELECT * FROM myTable WHERE blobColumn = ?”, myByteArray)或其中的一些变体,但rawQuery函数只支持String参数 – 虽然看看Android源代码,但似乎是私有的方法包括bindBlob(int, byte[]) 。 当然,我可以运行查询SELECT * FROM myTable WHERE blobColumn = x’CAFE1234CAFE1234CAFE1234CAFE1234′ ,但有没有办法不需要将blob转换为字符串?

同步/更新sqlite数据库

我们有一个Android应用程序和一个iPhone应用程序(相同的function)使用sqlite进行本地数据存储。 应用程序最初没有数据,然后在第一次运行时,它们从远程服务器接收数据并将其存储在sqlite数据库中。 sqlite数据库由服务器创建,应用程序将其作为一个文件下载,然后用于购买应用程序。 按照今天的标准,数据库文件不是很大,但也不是很小 – 大约5-6 MB。 现在,偶尔,应用程序需要刷新服务器中的数据。 我能想到几种方法: 从服务器下载新的完整数据库并替换现有数据库。 这听起来像处理问题最简单的方法是不是重复5-6 MB的下载。 应用程序会提示用户是否要下载更新,因此这可能不是太大的问题。 从服务器下载增量数据库,仅包含新的/已修改的记录,并以某种forms显示有关要删除的记录的信息。 这将导致更小的下载大小,但客户端的工作更复杂。 我需要读取一个数据库,并根据读取的内容更新另一个数据库。 据我所知,sqlite没有办法像insert into db1.table1 (select * from db2.table1) ,其中db1和db2是两个包含相同结构的table1的sqlite数据库。 (完整的sqlite数据库包含大约10个表,其中最大的一个表可能包含大约500个记录左右。) 以某种其他格式(json,xml等)下载数据的delta,并使用此信息更新应用程序中的数据库。 与以前相同:在服务器端没有太多问题,下载大小比完整数据库小,但是进行更新是一个非常痛苦的过程。 您推荐的三种方法中的哪一种? 或许还有另一种我错过的方式? 提前谢谢了。

Expandablelistview扩展simplecursoradapter以从sqlite填充

如何在片段内实现android SQLite,而不是将其扩展到除片段之外的任何其他内容,同时将这些条目放在可扩展listview的子代中。 这是我实施的: http : //wptrafficanalyzer.in/blog/implementing-horizo​​ntal-view-swiping-using-viewpager-and-fragmentpageradapter-in-android/ 我正在我的主要活动中实现视图寻呼机,因此我必须在其中做我必须做的事情。 我不知道如何使用SQLite与片段和自定义Expandablelist适配器请帮助我。 在这里,我基本上将用户名和年龄作为用户条目,我希望在expandablelistview的子项中显示。 因此,日期表的问题无法打开参加活动的活动,即活动2 更新:: SQLiteAdapter: public class SQLiteDBAdapter { private static final String TAG = “DBAdapter”; //used for logging database version changes // DataBase info: public static final String DATABASE_NAME = “entry”; public static final String DATABASE_TABLE2 = “entryTable”; public static final String DATABASE_TABLE1= “dateTable”; public static final […]

Android – sqlite内容提供程序和multithreading

我对内容提供商有点困惑。 如果我的应用程序中有多个活动,他们每个人都会获得自己的内容提供者实例吗? 它本质上只是一个类/接口? 在一个活动中,我将有许multithreading同时写入数据库。 我如何处理允许一个线程一次写入? 我只是捕获SQLiteDatabaseLockedException,将线程置于hibernate状态然后重试? 或者,还有更好的方法? 当活动暂停/被销毁时是否释放数据库锁? 如果是这样,我可以创建一个针对内容提供商本身的同步锁?

SQLite Context.MODE_PRIVATE

我想知道: 我们可以在创建数据库时在SQLite使用Context.MODE_PRIVATE来防止不需要的数据库访问。 我没有在谷歌上得到任何例子。 如何在数据库中使用此Context.MODE_PRIVATE 。 请帮助我 提供任何链接或样本。 在这个链接中,他们正在谈论文件。 所以数据库也是文件。 我该如何实现呢?

adb shell setprop log.tag.SQLiteStatements VERBOSE什么都不做?

在搜索如何调试sqlite时,我遇到命令adb shell setprop log.tag.SQLiteStatements VERBOSE但它似乎没有在我的设备上记录任何查询Samgung S4 running CyanogenMod以及Nexus 4

ORMLite插入或替换

我在我的Android应用程序中使用ORMLite,有些情况下我需要sqlite的INSERT OR UPDATEfunction。 我知道ORMLite有createOrUpdate但它不适用于我的特定情况。 我将以一个例子来解释我的案例。 我有两张桌子A和B 它们之间具有多对多关系,使用单独的映射表M 。 表A和B具有手动生成的主键, M使用generatedId = true 。 M用于存储外键到A和B的两列在其上设置了uniqueCombo = true 。 因此,当我尝试调用createOrUpdate时,从M后面已经存在的后端(作为JSON)获取记录时,它将在UNIQUE约束上失败。 原因是 public CreateOrUpdateStatus createOrUpdate(T data) throws SQLException { if (data == null) { return new CreateOrUpdateStatus(false, false, 0); } ID id = extractId(data); // assume we need to create it if there is no id if (id […]