我正在介绍一下Android编程课程的介绍,并将其添加到sqlite数据库中
任何可能导致此错误的建议。我认为这与没有正确分配mDatabase字段变量有关。
似乎问题是addCustomer函数中的mDatabase变量需要不同的上下文。
private static ContentValues getContentValues(Customer customer) {
ContentValues values = new ContentValues();
values.put(UUID, customer.getId().toString());
values.put(FULL_NAME, customer.getName());
values.put(ADDRESS, customer.getAddress());
values.put(CREDIT_CARD_NUMBER, customer.getCreditCardNumber());
values.put(EMAIL, customer.getEmail());
values.put(SESSIONS_REMAINING, customer.getSessionsRemaining());
values.put(PRINT_RECEIPT, customer.getPrintReceipt() ? 1 : 0);
values.put(EMAIL_RECEIPT, customer.getEmailReceipt() ? 1 : 0);
return values;
}
public void addCustomer(Customer c) {
ContentValues values = getContentValues(c);
mDatabase.insert(CustomerDbSchema.CustomerTable.NAME, null, values);
Log.d("DATABASE", "Customer Added");
}
下面的Github上的文件链接:
答案 0 :(得分:0)
1)我认为您没有正确使用SQLiteDatabase mDatabase = getWritableDatabase();
。
2)有关详细信息,请参阅ContentValues。
3)使用if
确保已插入。
if (mDatabase.insert(CustomerDbSchema.CustomerTable.NAME, null, contentValues) > 0) {
return true;
}
return false;