【发布时间】:2018-05-07 12:31:22
【问题描述】:
参考下面的帖子,但对我没有帮助
问题是我将更改数据并单击保存按钮它无法更新我的数据
当我打印我的 ID 然后它说 NULL
更新查询:
db.update(COMPANY, values, KEY_ID + " = ?",
new String[] { String.valueOf(company.getId()) });
Java 代码:
else{
count = 0;
Company company = new Company();
company.setName(etCompanyName.getText().toString().trim())
company.setWebsite(etWebsite.getText().toString().trim());
company.setEmail(etEmail.getText().toString().trim());
company.setPhoneHome(etPhoneHome.getText().toString().trim());
company.setPhonePrimary(etPhonePrimary.getText().toString().trim());
company.setAddressLine1(etAddressLine1.getText().toString().trim());
long isUpdated = myDb.updateCompany(company);
//Show id hear But it's null
Log.e("TAG", "Id : " + company.getId());
if (isUpdated != -1) {
Toast.makeText(getApplicationContext(), "Company Update Successfully: " + isUpdated, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getApplicationContext(), "Something wrong", Toast.LENGTH_SHORT).show();
}
Log.e("Button..."," Update Button Clickd ");
finish();
}
当我点击保存按钮时,它会打印 Toast msg : 公司更新成功0每次
【问题讨论】:
-
我没有在您的代码中看到您设置 id 的位置。
company.setId的线路在哪里? -
我无法设置 id 我只是使用 LOG 来查看 id 是否更新构象数据但 id 为空 @RubioRic
-
我不明白你,你的更新查询需要一个 id。如果您不建立一个,则不会更新任何行
-
你在哪里设置 ID:你喜欢这个 company.setId(System.currentTimeMillis()) ;在模型类中将 Id 设为 long
-
包含 id 值,就像您在其他字段(名称、网站等)中所做的一样。您以某种方式恢复了这些字段值以显示它们。您必须在执行更新之前恢复 id。像这样的东西:
company.setId(getIntent().getExtras().getString("id"));