映射文件:
<typeAlias type="Com.Wellhope.Vo.ProcOutValues,Dao" alias="ProcOutValues"/>
<typeAlias type="Com.Wellhope.Vo.ProcInValues,Dao" alias="ProcInValues"/><resultMap id="callprocGetRootDomainResult" class="ProcOutValues">
      <result property="oDomaininfo1" column="o_domaininfo1" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo2" column="o_domaininfo2" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo3" column="o_domaininfo3" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo4" column="o_domaininfo4" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo5" column="o_domaininfo5" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo6" column="o_domaininfo6" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo7" column="o_domaininfo7" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo8" column="o_domaininfo8" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo9" column="o_domaininfo9" dbtype="nvarchar(4000)"/>
      <result property="oDomaininfo10" column="o_domaininfo10" dbtype="nvarchar(4000)"/>
      <result property="oCode" column="o_code" dbtype="nvarchar(4000)"/>
</resultMap><parameterMap id="callprocGetRootDomainParam" class="ProcInValues">
      <parameter property="iAppuri" direction="Input"/>
      <parameter property="iQueryType" direction="Input"/>
 </parameterMap>调用语句:
<procedure id="callProcGetRootOrgAuthTree" parameterMap="callprocGetRootDomainParam" resultMap="callprocGetRootDomainResult">
      Proc_query_authoperdata
    </procedure>
然后出错信息为:
指定的参数已超出有效值的范围。
参数名: index
堆栈跟踪:[ArgumentOutOfRangeException: 指定的参数已超出有效值的范围。
参数名: index]
   IBatisNet.DataMapper.Configuration.ParameterMapping.ParameterPropertyCollection.get_Item(Int32 index) +69
   IBatisNet.DataMapper.Commands.DefaultPreparedCommand.ApplyParameterMap(ISqlMapSession session, IDbCommand command, RequestScope request, IStatement statement, Object parameterObject) +191
   IBatisNet.DataMapper.Commands.DefaultPreparedCommand.Create(RequestScope request, ISqlMapSession session, IStatement statement, Object parameterObject) +260
   IBatisNet.DataMapper.MappedStatements.MappedStatement.ExecuteQueryForList(ISqlMapSession session, Object parameterObject) +56
   IBatisNet.DataMapper.SqlMapper.QueryForList(String statementName, Object parameterObject) +184
   Com.Wellhope.Dao.UserManagerDao.callProcGetRootOrgAuthTree(ProcInValues tb) in D:\TrustSupervise\zhgldevelop\Dao\usermanager\UserManagerDao.cs:127
   AuthManage_past.Page_Load(Object sender, EventArgs e) in d:\TrustSupervise\zhgldevelop\zhglweb\AuthManage\past.aspx.cs:41
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061

解决方案 »

  1.   

    检查ParameterMapping.ParameterPropertyCollection.get_Item
    索引超出范围
      

  2.   

    最近也在用ibatis.net框架开发,看你报的错,应该是你的属性和数据库字段映射出了问题,可能是属性的index字段和数据库的index字段的字段类型不一样
    你看下试试~
      

  3.   

    另外  我在写参数映射时,该怎么写column项,跟存储过程里的对应参数相同?
      

  4.   

    在调用存储过程时没用ibatis.net  而直接用ado