【发布时间】:2010-04-11 05:24:18
【问题描述】:
我知道我可能遗漏了一件简单的事情,但过去一两个小时我一直在用头撞墙。我有一个用于我目前正在开发的 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。
任何帮助将不胜感激。谢谢!
【问题讨论】:
-
我强烈建议使用参数 ("?") 而不是将字符串连接到查询中。您将面临格式错误的查询或注入攻击的风险。
-
@JimBlackler 您能否举一个使用
?进行上述查询的小例子。我用谷歌搜索但找不到。