Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用activeAndroid更新多个列_Android_Sqlite_Orm_Activeandroid - Fatal编程技术网

使用activeAndroid更新多个列

使用activeAndroid更新多个列,android,sqlite,orm,activeandroid,Android,Sqlite,Orm,Activeandroid,我想用活动android更新单行的多个单元格。 像这样的事情, new Update(Question.class).set("UserAnswer ="+answerID, "UserAnswerType = "+userAnswerType) .where("QID = ?", questionID).execute(); 但这会给我带来错误。还有别

我想用活动android更新单行的多个单元格。 像这样的事情,

    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,已更新我的问题以供参考