如何从Azure Mobile服务获取数据

时间:2015-06-04 09:40:18

标签: java android sql-server azure-sql-database azure-mobile-services

我正在尝试使用azure移动服务从azure MS sql数据库获取一些数据。我编写的代码如下所示,但是当我调用该方法时,它返回null。我哪里做错了?我应该使用什么查询?

private void refreshNumsFromTable() {


    new AsyncTask<Void, Void, Void>() {
        @Override
        protected Void doInBackground(Void... params) {
            try {

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        mPhonesTable.where().field("PhoneNumber").execute(new TableQueryCallback<PhoneNumbers>() {

                            @Override
                            public void onCompleted(final List<PhoneNumbers> result, int count,Exception exception, ServiceFilterResponse response) 
                            {

                                runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        mAdapter.clear();
                                        for(PhoneNumbers num : result)
                                        {
                                            mAdapter.add(num);
                                        }
                                    }
                                });

                            }
                        });
                    }
                });

            } catch (Exception e) {
                createAndShowDialog(e, "Error");
            }

            return null;
        }
    }.execute();

}

1 个答案:

答案 0 :(得分:1)

你在那里没有完整的谓词。通过使用where()方法,您可以询问PhoneNumber符合某些条件的结果,但您没有指定该条件。你需要说它等于某个东西(eq())或它以某个字符串开头:

mPhonesTable.where().field("PhoneNumber").eq("555-555-5555").execute().get(); 要么 mPhonesTable.where().startsWith("PhoneNumber", "555").execute().get();

如果您尝试仅返回PhoneNumber列,请使用select()方法:

mToDoTable.select("PhoneNumber").execute().get();

有关详细信息,请参阅移动服务Android SDK参考: https://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-how-to-use-client-library/#querying