问题描述
|
我想从edittext中获取数据,然后将其插入sqlite。
现在我做的像
ContentValues value=new ContentValues();
value.put(\"Name\",name);
value.put(\"id\",password);
value.put(\"email\",email);
db.insert(\"EMP\",null,value);
名称,密码和电子邮件是变量,但这不起作用,因为没有数据输入到表中。
请提供任何解决方案。
解决方法
您的代码看起来不错。插入函数返回新创建的行的ID。您可以测试一下以检查呼叫是否成功。值-1表示发生错误。
我有点担心您有一个名为id的字段,尤其是一个非数字的字段。可以,但是_id是保留给行ID的,您绝对不想弄乱它。
, 尝试添加这三行
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
在您的db.insert行之前。
, 请尝试传递_id作为insert()的第二个参数,而不是null。
以下代码在我的程序中工作正常。
dbSqlite.insert(tableName,DataBaseConstant.FIELD_ID,initialValues);
希望可以帮助您解决问题。
, 如果db.insert()返回-1,则发生错误。
你必须检查
字段存在于sqlite数据库中。
外键是正确的。
唯一字段是正确的。
不是null字段正确。
如果id为AUTOINCREMENT,则无需填写。