проблема вставки базы данных Android - PullRequest
0 голосов
/ 30 мая 2011

Я хочу взять данные из текста редактирования и затем вставить их в sqlite. сейчас я делаю как

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

Имя, пароль и адрес электронной почты являются переменными, но это не работает, так как данные не вводятся в таблицу.

Любые решения, пожалуйста.

Ответы [ 4 ]

1 голос
/ 30 мая 2011

Ваш код выглядит нормально. Функция вставки возвращает идентификатор вновь созданной строки. Вы можете проверить это, чтобы проверить, был ли вызов успешным. Значение -1 указывает, что произошла ошибка.

Я немного обеспокоен тем, что у вас есть поле с именем id, особенно поле, которое не является числовым. Все должно быть в порядке, но _id зарезервировано для идентификатора строки, и вы определенно не хотите возиться с этим.

0 голосов
/ 24 ноября 2016

если db.insert () вернет -1, произошла ошибка. Вы должны проверить

  1. поля существуют в базе данных sqlite.
  2. правильные внешние ключи.
  3. уникальные поля верны.
  4. не пустые поля являются правильными.
  5. если идентификатор - AUTOINCREMENT, вам не нужно его заполнять.
0 голосов
/ 30 мая 2011

попробуйте добавить эти три строки

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

перед вашей строкой db.insert.

0 голосов
/ 30 мая 2011

пожалуйста, попробуйте передать _id как второй параметр insert () вместо нуля.

следующий код прекрасно работает в моей программе.

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

надежда может помочь вам решитьваша проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...