UWP客户端使用webService数据分页

Keywords:

严格上说,这里主要和数据绑定没什么关系了。主要内容是sql分页。使用webService获取服务器数据,考虑到服务器数据很多,因此需要对服务器数据进行分页,数据库分页可以在数据库内部分页也可以用sql分页,使用sql分页还是更通用些,毕竟有些数据库内部不支持分页的。

数据库分页代码。

在webservice里面,建立一个函数SelectMN(int m,int n)

 string cmdStr = "SELECT TOP "+ (n - m + 1) + " * FROM [课程表uwp] WHERE(id NOT IN(SELECT TOP "+(m-1) +" [id] FROM [课程表uwp] ORDER BY [statis] DESC,ID)) ORDER BY [statis] DESC,ID";
在函数中使用上面的语句删选数据,经过使用后发现当m=1的时候select Top 0 会报错,因此改进一下判断当m=1的时候,m=2.这样在调用的时候就可以返回部分服务器数据了。

至于uwp如何接入WebService,请看这篇文章:

http://songshizhao.com/blog/blogPage/89.html

后记:

选择排序从m到n的代码,修改如下,对于m=1的情况进行了一个判断


[WebMethod]
public object[] SelectMN(int m,int n)
{
      if (m < n)
      {
         string cmdStr;
         if (m == 1)
         {
            cmdStr = "SELECT TOP " + (n) + " * FROM [rockhero] ORDER BY ID";
         }
          else
         {
              cmdStr = "SELECT TOP " + (n - m + 1) + " * FROM [rockhero] WHERE(id NOT IN(SELECT TOP " + (m - 1) + " [id] FROM [rockhero] ORDER BY ID)) ORDER BY ID";
         }
         DataSet Selected = new DataSet();
         string conStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\storage\\apps.accdb";
         using (OleDbConnection con = new OleDbConnection(conStr))
         {
                con.Open();
                using (var cmd = new OleDbCommand(cmdStr, con))
                {
                    OleDbDataAdapter s = new OleDbDataAdapter(cmdStr, conStr);
                    s.Fill(Selected);
                }
                con.Close();
                ArrayList message = new ArrayList();
                for (int x = 0; x < Selected.Tables[0].Rows.Count; x++)
                {
                     string msg = "";
                     for (int y = 0; y < Selected.Tables[0].Columns.Count; y++)
                     {
                         msg += Selected.Tables[0].Rows[x][y];
                         if (y != Selected.Tables[0].Columns.Count - 1)
                         {
                             msg += ",";
                         }
                     }
                     message.Add(msg);
                }
                return message.ToArray();
             }
       }
       else
       {
           return null;
       }
}


作者:songshizhao 发表于:2017-04-16T12:28:47 访问量:663