我用的是ibatis.net调用存储过程,返回结果集的列不是固定的,怎样在xml文件里做配置。因为必须要指定resultMap,但我返回的列不是固定的,没办法与实体类进行映射,有什么解决办法吗。只要是程序能接收到DataSet就可以了。    <procedure id="AA" parameterMap="参数" resultMap="实体类">
      存储过程名
</procedure>

解决方案 »

  1.   

    <procedure id="SelectByName" parameterMap="ParamSelect"  resultMap="ResultPerson">
          ProcGetPersonByName
        </procedure>要配
    ibatis.net调用存储过程
      

  2.   

    返回的列是不固定的 但是你肯定对应一个实体类对吧?  只要你的实体类 都加上默认值属性  或者用可空类型 这样  假设UserInfo 实体类 属性为 id,name,age,createtime   你现在只查  name  返回的实体类 就是UserInfo 只不过这个实体类只有name 记住  要设置 上面的属性 有默认值 或者可空类型  要不然就报错了 
      

  3.   

    设置你的字段 属性为可空类型 就可以解决了   还有一种麻烦的  就是你想要的  DateSet  http://www.cnblogs.com/jeffwongishandsome/archive/2010/12/25/1916929.html
      

  4.   

    楼主,这样的问题用PDF.NET数据开发框架吧,它是从iBatis简化过来的,但绝对比它简单易用,例如你的问题,在PDF.NET可以这样使用:<Select CommandName="GetFundManagerList" CommandType="Text" Method="" Description="获取基金经理列表" ResultClass="DataSet">
    <![CDATA[
    SELECT * FROM [GetFundTrend_FundManagerEvaluation]
     (#FundCompany:String#,#FundType:String#,#ManagerName:String#,#tzfg:String#)
    ]]>
    </Select>
      

  5.   

    下载FortuneBase中的IBatisNet的对应dll
    其扩展了QueryForDataTable,QueryForDataSet,QueryForDataReader参考地址www.cnblogs.com/mail-ricklee