android数据库插入问题

时间:2011-05-30 08:58:56

标签: android sqlite

我想从edittext中获取数据,然后将其插入到sqlite中。 现在我喜欢

ContentValues value=new ContentValues();
    value.put("Name",name);
    value.put("id", password);
    value.put("email",email);
db.insert("EMP",null,value);

名称,密码和电子邮件是变量,但这不起作用,因为没有数据输入到表中。

请解决任何问题。

4 个答案:

答案 0 :(得分:1)

您的代码看起来不错。 insert函数返回新创建的行的id。您可以测试它以检查呼叫是否成功。值-1表示发生了错误。

我有点担心你有一个名为id的字段,特别是一个不是数字的字段。它应该没问题,但_id是为行ID保留的,你肯定不想搞砸它。

答案 1 :(得分:0)

请尝试将_id作为insert()的第二个参数而不是null。

以下代码在我的程序中正常运行。

dbSqlite.insert(tableName, DataBaseConstant.FIELD_ID,
                initialValues);

希望可以帮助您解决问题。

答案 2 :(得分:0)

尝试添加这三行

    db.setVersion(1);
    db.setLocale(Locale.getDefault());
    db.setLockingEnabled(true);

在db.insert行之前。

答案 3 :(得分:-1)

如果db.insert()返回-1,则发生错误。 你必须检查

  1. 字段存在于sqlite datatbase中。
  2. 外键是正确的。
  3. 唯一字段是正确的。
  4. 非空字段是正确的。
  5. 如果id为AUTOINCREMENT,则无需填写。