插入数据" MobileServiceTable必须定义一个id属性"

时间:2015-11-14 18:17:42

标签: java android database azure

我目前正在开发一款Android应用,需要将数据插入到天蓝色的移动服务数据库中。一个id字符串和第一个登录整数,确切地说。但是,引发了以下错误。

  

" IllegalArgumentException:表示MobileServiceTable的类必须定义一个id属性"

我需要插入数据库的id值是使用passId()从片段接口传回的。在我的覆盖范围内,我试图将值插入azure,如下所示。

@Override
public void passId(String id) {

    userInstance user = new userInstance();
    user.user_id = id;
    user.first_login = 0;
    mClient.getTable(userInstance.class).insert(user, new TableOperationCallback<userInstance>() {
        public void onCompleted(userInstance entity, Exception exception, ServiceFilterResponse response) {
            if (exception == null) {
                // Insert succeeded
            } else {
                // Insert failed
            }
        }
    });

mClient var表示MobileServicesClient,如下所示

try {

      mClient = new MobileServiceClient(
              "https://xxxx.azure-mobile.net/",
              "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
              this);

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (Exception e){
        e.printStackTrace();
    }

我尝试将数据插入的表名是&#34; user_table&#34;如果这有帮助的话。

我希望你能够提供帮助,并提前感谢你们给我的任何帮助。

1 个答案:

答案 0 :(得分:1)

<强> SOLUTION:

因为我试图将数据添加到自动创建“id”列的Azure表,我用来构造用户信息以插入数据库的用户对象必须定义“id”字符串。如下图所示:

public class userInstance {

    @com.google.gson.annotations.SerializedName("id")
    public String mId;

    @com.google.gson.annotations.SerializedName("user_id")
    public String mUserId;

    @com.google.gson.annotations.SerializedName("first_login")
    public int mLogin;

}