对于之前从事.net或者java开发人员,习惯了从后台获取网格数据(多行多列DataTable),但转行从事android开发,难免会不习惯

Android调用Webservice时,如果返回值是一个boolean或者string值时可以通过下面方式接收返回值:

SoapObject soapObject = (SoapObject) envelope.getResponse();
Re = soapObject.getProperty("twgp")

如果接收是一行值时也可以通过上面的方式去获取,但是如果返回的是多行多列或者一行多列的数据集时就比较麻烦了,上面的方法不管用,不然的话接收到的值永远是第一行的值,所以对于那种多行多列的返回值时,如下面的webservice:

//运价查询
@SuppressWarnings("unchecked")
@Repository("priceDao")
public class PriceDao extends BaseOraDao { public List getPrice(String fromPort, String toPort){
List foo;
StringBuffer sb = new StringBuffer();
sb.append("select max(price20gp) as price20GP,max(price40gp) as price40gp,max(price40h) ");
sb.append("as price40h from ");
sb.append("(select * from nqprice_main n where n.feetype='水运费' and n.fromport='");
sb.append(fromPort).append("' ");
sb.append("and n.toport='").append(toPort).append("' ");
sb.append("and n.endday is null order by n.beginday desc) where rownum<=2"); foo = getNqoraJdbcTemplate().query(sb.toString(), new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Price dm = new Price();
dm.setTwgp(String.valueOf(rs.getDouble("price20GP")));
dm.setFtgp(String.valueOf(rs.getDouble("price40gp")));
dm.setFtgp(String.valueOf(rs.getDouble("price40h")));
return dm;
}
}); return foo;
}
} }
}

经过一天研究发现有一种办法获取:

//构造数据
ArrayList<String> list = null;
//web service请求
ht.call(null, envelope);
//得到返回结果
result = (SoapObject) envelope.bodyIn;
for (int i = 0; i < result.getPropertyCount(); i++) {
SoapObject soapChilds =(SoapObject)result.getProperty(i); list.add(soapChilds.getProperty("price20GP").toString());
}
//这样list就包含了返回列price20GP的数据

结合下面文章怎样去调用webservices

http://blog.csdn.net/sheshou2/article/details/6138865

大功告成!!!

转:http://blog.csdn.net/sheshou2/article/details/6298542

Android Webservices 返回多行多列数据(Dataset)的更多相关文章

  1. FPGA计算3行同列数据之和

    实验:FPGA计算3行同列数据之和 实验要求:PC机通过串口发送3行数据(一行有56个数据,3行共有56*3=168个数据)给FPGA,FPGA计算3行同一列数据的和,并将结果通过串口返回给上位机. ...

  2. Python学习随笔:使用xlwings设置和操作excel多行多列数据以及设置数据字体颜色填充色对齐方式的方法

    ☞ ░ 前往老猿Python博文目录 ░ 在前面老猿的文章中,<Python学习随笔:使用xlwings读取和操作Excel文件>.<Python学习随笔:使用xlwings读取和操 ...

  3. Excel 一张表最多能装下多少行多少列数据?

    一个工作簿可以装下255张,那么每张工作表可以装下多少行多少列数据呢? 1.任意打开或新建一个Excel文档. 2.在文档中,找到其左上角的"文件"按钮,点击选择"选项& ...

  4. 【面试总结-编程】多行两列数据,实现同key的value求和并输出

    一个文件,两列,多行. 第一列是字母,第二列是数字,同列数据之间通过空格分割. 统计首列字母相同的第二列之和. 样例输入: A 5 B 6 OO 7 A 6 A 2 OO 2 输出: A:13 B:6 ...

  5. easyUI datagrid 多行多列数据渲染异常缓慢原因以及解决方法

    原因 最近,在优化之前公司帮联想(外包)做的一个老的后台管理系统,由于项目是基于easy UI框架,页面是后台用jsp实现的,再加上在公司推行前后端分离的实践,大部分项目都基于vue采用前后端分离去实 ...

  6. mssql sqlserver 不固定行转列数据(动态列)

    转自:http://www.maomao365.com/?p=5471 摘要: 下文主要讲述动态行列转换语句,列名会根据行数据的不同, 动态的发生变化 ------------------------ ...

  7. oracle输出多行多列数据

    --方法一  匿名块中直接 dbms_output输出declare  v_sql    varchar2(200);  v_cursor sys_refcursor;  type v_type is ...

  8. postgresql 行转列,列转行后加入到一个整体数据

    这里行转列的基本思想就是使用max,因为其他列下面都是NULL,所以可以Max最后就只能得到有值的这行 普通的查询: SELECT icd , case when (ROW_NUMBER() OVER ...

  9. 第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据

    第18课-数据库开发及ado.net 连接数据库.增.删.改向表中插入数据并且返回自动编号.SQLDataReade读取数据 ADO.NET 为什么要学习? 我们要搭建一个平台(Web/Winform ...

随机推荐

  1. 数据访问:Implementing Efficient Transactions

    An OLTP scenario is characterized by a large number of concurrent operations that create, update, an ...

  2. tomcat配置jdbc

    server.xml下<GlobalNamingResources> <Resource name="jdbc/Huobanplus"               ...

  3. Bootstrap table的基本使用总结

    最近在学习BootStrap构建页面,现记录BootStrap table 的一些基本使用如下: HTML文件: <!DOCTYPE html> <html> <meta ...

  4. [Android Security] APK自我保护 - 代码乱序

    cp : https://segmentfault.com/a/1190000005095406 乱序原理 为了增加逆向分析的难度,可以将原有代码在 smali 格式上进行乱序处理同时又不会影响程序的 ...

  5. Java正则表达式教程及示例

    本文由 ImportNew - ImportNew读者 翻译自 journaldev.欢迎加入翻译小组.转载请见文末要求. [感谢 @CuGBabyBeaR  的热心翻译.如果其他朋友也有不错的原创或 ...

  6. BZOJ 1093 最大半连通子图 题解

    1093: [ZJOI2007]最大半连通子图 Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 2767  Solved: 1095[Submit][S ...

  7. C#多线程写日志

    由于程序是3层架构的,所有多线程记录日志成了比较棘手的问题,以前还真就没有在意过写日志的问题,认为不过是写文件罢了~~!如今发现原来要实现文件共享,并且能够使多线程同时操作日志还不能相互冲突,真的很麻 ...

  8. go语言之进阶篇定时器停止

    1.定时器停止 示例: package main import ( "fmt" "time" ) func main() { timer := time.New ...

  9. the network bridge on device vmnet0 is not running解决方法

    最近电脑装上win8,在安装vm 7.1.4 安装后发现网络连接中的网桥模式不能使用. 原来在本地连接里少了:VMware Bridge Protocol 最后的解决方案如下: 打开物理网卡本地连接- ...

  10. Subset II leetcode java

    题目: Given a collection of integers that might contain duplicates, S, return all possible subsets. No ...