public class AdaptQueryAction implements BeanAction   {  /**
   * 这个方法实现动态查询
   * @param bean 表bean
   * @param errlist 错误信息列表
   * @return bean对象
   */
  public Object action(EntityBean bean, ErrList errlist)  {    DebugManager.instance().get(InitEnv.DEBUG).message("查询表"+bean.logString()+"数据开始");
    try{
      Connection con = DBEnterpriseManager.instance().getJdbcMgr(InitEnv.DBINSTANCE).get();      DbDynamicQueryPre ddip=new DbDynamicQueryPre();
      PreparedStatement stmp = null;
      EntityList list=null;
      try{
        list=(EntityList)Class.forName(bean.ENTITYBEANLISTNAME).newInstance();
        String sql=bean.sql;
        ddip.setSql(sql);
        sql=ddip.getSql(bean);
        stmp=con.prepareStatement(sql);
        ddip.preparedStatement(stmp);
        ResultSet set= stmp.executeQuery();
        ddip.resultSetToEntityBeanList(set,list);
        if(bean instanceof QueryBean){
          QueryBean qb=(QueryBean)bean;
          qb.setCountRecords(ddip.getCountRecords());     }
      }finally{
        if(stmp!=null) stmp.close();
        DBEnterpriseManager.instance().getJdbcMgr(InitEnv.DBINSTANCE).release( con );
        con = null;
      }
      DebugManager.instance().get(InitEnv.DEBUG).message("查询表数据成功");
      return list;
    }catch(Exception e){
       e.printStackTrace();
       DebugManager.instance().get(InitEnv.DEBUG).error("查询表数据失败");
       ErrBean errBean=new ErrBean();
       errBean.setSource(this.getClass().getName());
       errBean.setErrMessage(e.getMessage());
       errlist.addErrBean(errBean);
       errlist.setBreakFlg(true);    }
   return null;
  }
}

解决方案 »

  1.   

    public JdbcMgr getJdbcMgr(String dbname) throws NullPointerException {
        try {
          return getJdbcMgr( databaseIndexOf(dbname) );
        } catch (NullPointerException ex) {
          throw new NullPointerException(ex.getMessage() + " : " + dbname);
        }
      }
      

  2.   

    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <DataManager><Database name="dbagent" driver="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://192.168.100.162:1433;DatabaseName=paps" username="sa" password=""/></DataManager>
      

  3.   

    大全:
    http://www.csdn.net/develop/Article/16/16912.shtm
    http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html
    http://www.zdnet.com.cn/developer/code/story/0,2000081534,39134180-2,00.htm
      

  4.   

    我可以告诉你怎么连接。
    我的email:[email protected]请给分
      

  5.   

    dby_(小兵)你能不能把你的方法给出来大家共享一下啊??????
      

  6.   

    其实也没什么,
         你只需在代码中 定义上下文变量,InitialContext,然后用 lookup方法查询数据库的jndi,就可以了。