首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

Windos Phone 循环调用webservice有关问题

2013-07-01 
Windos Phone 循环调用webservice问题我用webservice查询sql数据库,在用windows phone循环调用webservice

Windos Phone 循环调用webservice问题
    我用webservice查询sql数据库,在用windows phone循环调用webservice时发现引用的学号集合的顺序与查得的学生姓名的顺序对不起来。代码如下:

    wbservice代码:


[WebMethod]
        public DataSet GetDataSet(string No) //查询学生姓名
        {
            string strRevise1 = "select * from 学生信息 where 学号 ='" + No+"'";
            string strCon = "Data Source=(local);Initial Catalog=学生成绩管理系统;Integrated Security=True";
            SqlConnection sqlCon = new SqlConnection(strCon);
            sqlCon.Open();

            SqlDataAdapter dataAdapter = new SqlDataAdapter(strRevise1, sqlCon);
            DataSet ds = new DataSet();
            dataAdapter.Fill(ds);
            return ds;
            return GetDataSet(strNo);
        }

    app代码:

public static List stNo;//存学生学号
public static list stName;//存学生姓名
 ServiceReference1.WebService_for_MASSoapClient newClient = new ServiceReference1.WebService_for_MASSoapClient();
            newClient.GetDataSetCompleted += (s, arg) =>
            {
                IEnumerable<XElement> res = arg.Result.Nodes.DescendantsAndSelf("LampState");
                foreach (string a in res)
                {
                    stName.Add(a);
                }
            };
//循环学生学号数目次
for (int i = 0; i < (stNo.Count); i++)
                    {
                        newClient.GetDataSetAsync(stNO[i]);
                    }

    最后的结果是两个List中的顺序与数据库中的顺序不一致,各位大神这其中的原因是什么,有没有解决方法能让两各个集合中的信息对应起来。 Web服务 数据库


[解决办法]
可能是你每次的请求响应顺序不一样把,
你先请求的第一个,然后第二个,但是谁也保证不了第一个请求会先返回。
for (int i = 0; i < (stNo.Count); i++)
                    {
                        newClient.GetDataSetAsync(stNO[i]);
                    }
你就不能让你的webservers公开一个接受学号集合的方法??
还有,最好别返回DataSet 这种重量级的对象,自己不会写个数据实体类吗?

热点排行