Android插入sqlite数据库

标签 android sqlite

我知道我可能遗漏了一件简单的事情,但过去一两个小时我一直在用头撞墙。我有一个用于当前正在处理的 Android 应用程序 (Android v1.6) 的数据库,我只想将一条记录插入数据库表中。我的代码如下所示:

//Save information to my table
sql =   "INSERT INTO table1 (field1, field2, field3) " +
        "VALUES (" + field_one + ", " + field_two + ")";
Log.v("Test Saving", sql);
myDataBase.rawQuery(sql, null);

myDataBase 变量是一个 SQLiteDatabase 对象,可以从模式中的另一个表中选择数据。保存似乎工作正常(LogCat 中没有错误)但是当我从设备复制数据库并在 sqlite 浏览器中打开它时,新记录不存在。我还尝试在 sqlite 浏览器中手动运行查询并且效果很好。 table1 的表模式是 _id、field1、field2、field3。

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

您的查询无效,因为您为 3 列提供了 2 个值。您的原始查询应如下所示:

sql = "INSERT INTO table1 (field1, field2) " +
    "VALUES (" + field_one + ", " + field_two + ")";

尽管您的架构包含三个字段。顺便说一句,您可以查看日志以查看来自 sqlite 的实际错误报告。

关于Android插入sqlite数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2616130/

相关文章:

Android ANR 在 libc.so 中

android - 在android中将对象转换为字符串时丢失了一些数据

android - 如何在 Android 中重置 SqlLite 数据库?

android - 如何使方法中的变量成为全局变量?

android - 如何水平居中 ListView 页脚

android - 保留对 Android 应用程序上下文的引用是否安全?

java - SQLite识别长值

SQLite:从命令行插入二进制数据

java - 如何在java eclipse中通过jdatechooser更新日期

php - 连接表而不重复,但需要列的所有不同值