public Vector getContents(double eachNum--返回行数,int pageNum-当前业码,String tabName-表名,String[] fids-查询列,String condition-排序子句,String jspName-分业JSP)
{
Vector contents=new Vector();
int max=pageNum*(int)eachNum;
int min=(pageNum-1)*(int)eachNum;
try
{
Context initContext=new InitialContext();
Context envContext=(Context)initContext.lookup("java:/comp/env");
DataSource ds=(DataSource)envContext.lookup("jdbc/sample_db");
Connection conn=ds.getConnection(); Statement stmt2=conn.createStatement();
ResultSet rs2=stmt2.executeQuery("select count(*) from "+tabName+" "+condition);
rs2.next();
int totalNum=rs2.getInt(1);
rs2.close();
stmt2.close(); totalPageNum=1;
if (totalNum/eachNum>(int)(totalNum/eachNum))
{
totalPageNum=(int)(totalNum/eachNum)+1;
}else
{
totalPageNum=(int)(totalNum/eachNum);
}
getBeforeNext(totalNum,pageNum,totalPageNum,jspName);
//System.out.print("总共有"+totalPageNum+"页"+"<BR>");
//开始取数据
String sql="select * from(select a.*,rownum r from (select ";
for (int m=0;m<fids.length-1;m++ )
{
sql=sql+fids[m]+"," ;
}
sql=sql+fids[fids.length-1];
sql=sql+" from "+tabName+" order by id desc)a where rownum<="+max+") b where r>"+min+" "+condition;
//System.out.println("sql:"+sql);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while (rs.next())
{
String[] content=new String[fids.length];
for (int f=0;f<fids.length ;f++ )
{
content[f]=rs.getString(f+1);
}
contents.add(content);
} rs.close();
stmt.close();
conn.close();
}catch(Exception e)
{
System.out.println("从数据库中取值时出错:"+e.toString());
}
return contents;
}
这段分业代码是针对ORACLE数据库的,现在麻烦高手帮我改下查询的SQL语句,改成从ACCESS里取数据的SQL
{
Vector contents=new Vector();
int max=pageNum*(int)eachNum;
int min=(pageNum-1)*(int)eachNum;
try
{
Context initContext=new InitialContext();
Context envContext=(Context)initContext.lookup("java:/comp/env");
DataSource ds=(DataSource)envContext.lookup("jdbc/sample_db");
Connection conn=ds.getConnection(); Statement stmt2=conn.createStatement();
ResultSet rs2=stmt2.executeQuery("select count(*) from "+tabName+" "+condition);
rs2.next();
int totalNum=rs2.getInt(1);
rs2.close();
stmt2.close(); totalPageNum=1;
if (totalNum/eachNum>(int)(totalNum/eachNum))
{
totalPageNum=(int)(totalNum/eachNum)+1;
}else
{
totalPageNum=(int)(totalNum/eachNum);
}
getBeforeNext(totalNum,pageNum,totalPageNum,jspName);
//System.out.print("总共有"+totalPageNum+"页"+"<BR>");
//开始取数据
String sql="select * from(select a.*,rownum r from (select ";
for (int m=0;m<fids.length-1;m++ )
{
sql=sql+fids[m]+"," ;
}
sql=sql+fids[fids.length-1];
sql=sql+" from "+tabName+" order by id desc)a where rownum<="+max+") b where r>"+min+" "+condition;
//System.out.println("sql:"+sql);
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
while (rs.next())
{
String[] content=new String[fids.length];
for (int f=0;f<fids.length ;f++ )
{
content[f]=rs.getString(f+1);
}
contents.add(content);
} rs.close();
stmt.close();
conn.close();
}catch(Exception e)
{
System.out.println("从数据库中取值时出错:"+e.toString());
}
return contents;
}
这段分业代码是针对ORACLE数据库的,现在麻烦高手帮我改下查询的SQL语句,改成从ACCESS里取数据的SQL
解决方案 »
- 有Hibernate中是否能调用存储过程
- 急急急!!!怎么实现点击试听按钮,不刷新整个页面,让播放器播放啊?
- jsp实现生成word文档???
- 为什么我的邮件服务器支持imap协议还收不到邮件内容?
- 【高分急问】CVS客户端调试和部署的问题,MyEclipse下的问题!!!
- 请教从web页面导入一些类似用户信息的数据到数据表中,有哪种方式最好且最常用?(高分答谢,在线等)
- 相当奇怪的乱码问题,从没遇到过!
- 请问如何在JSP里判断是否是第一次打开页面???
- usebean无法使用自己的类
- 求助,哪里能找到论坛源代码(Jsp)? 多谢!!!
- 高分求 一个struts 应用代码
- 100分相送,求高手解决org.springframework.beans.factory.BeanCreationException:
for (int m=0;m<fids.length-1;m++ )
{
sql=sql+fids[m]+"," ;
}
sql=sql+fids[fids.length-1];
sql=sql+" from "+tabName+" order by id desc)a where rownum<="+max+") b where r>"+min+" "+condition;
这段就是组合SQL语句的 但是是对ORACLE的
我想改成ACCESS的 不好意思 难道我没说清楚么?
你要什么样的。。你sql语句。。说下。
还有就是表结构