我知道我可能遗漏了一件简单的事情,但过去一两个小时我一直在用头撞墙。我有一个用于当前正在处理的 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/