当前位置:  开发笔记 > 数据库 > 正文

Android插入sqlite数据库

如何解决《Android插入sqlite数据库》经验,为你挑选了3个好方法。

我知道可能有一件我想念的简单事情,但在过去的一两个小时里,我一直在撞墙.我有一个我正在使用的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.

任何帮助将不胜感激.谢谢!



1> Burcu Dogan..:

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

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

虽然您的架构包含三个字段.顺便说一下,您可以看到日志以查看sqlite的实际错误报告.



2> Michał K..:

CommonsWare在评论中给出了正确的答案.您应该使用execSql()而不是rawQuery().它就像一个魅力.

我认为这对其他人有用,不必挖掘评论以找到正确的答案.



3> 小智..:

因为它是一个字符串值你忘了"'"添加...这个查询肯定会工作,我测试

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

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有