使用activeAndroid更新多个列
我想用活动android更新单行的多个单元格。 像这样的事情,使用activeAndroid更新多个列,android,sqlite,orm,activeandroid,Android,Sqlite,Orm,Activeandroid,我想用活动android更新单行的多个单元格。 像这样的事情, new Update(Question.class).set("UserAnswer ="+answerID, "UserAnswerType = "+userAnswerType) .where("QID = ?", questionID).execute(); 但这会给我带来错误。还有别
new Update(Question.class).set("UserAnswer ="+answerID,
"UserAnswerType = "+userAnswerType)
.where("QID = ?", questionID).execute();
但这会给我带来错误。还有别的办法吗?还是我遗漏了什么
这是我的问题,请参考
@Table(name = "Questions")
public class Question extends Model {
@Expose
@Column(name = "QID")
private Integer ID;
@Expose
@Column(name = "AnswerID")
private Integer AnswerID;
@Expose
@Column(name = "UserAnswer")
private Integer UserAnswer;
@Expose
@Column(name = "UserAnswerType")
private Integer UserAnswerType;
//Getter and setter methods for fields
public Question() {
// You have to call super in each constructor to create the table.
super();
}
}
你可以像下面这样做。我在我的一个项目中做过,效果很好
String updateSet = " UserAnswer = ? ," +
" UserAnswerType = ? ";
new Update(Question.class)
.set(updateSet, answerID, userAnswerType)
.where(" QID = ? ", questionID)
.execute();
对于任何数量的列,都可以使用类似的模式。如果您的表中有
Boolean
类型字段,我们可以帮助您。我们可以这样实现。
String x="sent = 1,file = "+n.getString("file");
new Update(Messages.class)
.set(x)
.where("id = ?", lid)
.execute();
StringBuilder data=new StringBuilder();
if (!TextUtils.isEmpty(name.getText().toString()))
{
data.append("Name = '"+name.getText().toString()+"',");
}
if (!TextUtils.isEmpty(age.getText().toString()))
{
data.append("Age = '"+age.getText().toString()+"',");
}
if (!TextUtils.isEmpty(empCode.getText().toString()))
{
data.append("EmployeeCode = '"+empCode.getText().toString()+"',");
}
if (!TextUtils.isEmpty(mobNum.getText().toString()))
{
data.append("MobileNumber = '"+mobNum.getText().toString()+"',");
}
if (!TextUtils.isEmpty(adress.getText().toString()))
{
data.append("address = '"+adress.getText().toString()+"'");
}
String str=data.toString();
//-------------and update query like this-----------------
new Update(EmpProfile.class).set(str).where("EmployeeCode = ?", empCode)
.execute();
你能插入问题吗。类?@Erik JanWestendorp,已更新我的问题以供参考