|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。js|oracle|程序|分页//*毗连Oracle的Bean:文件名为:conn_oracle.java
//*--------------------------------------------------------------------------------------------------------------
packageconn_oracle;
importjava.sql.*;
importjava.util.*;
importjava.io.PrintStream;
publicclassconn_oracle
{
StringserverName="localhost";
StringsConnStr="jdbc:oracle:thin:@localhost:1521:oemrep";
Stringlogin_name="scott";
Stringpwd="tiger";
Statementstmt=null;
Connectionconn=null;
ResultSetrs=null;
intafint;
publicconn_oracle()
{
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch(ClassNotFoundExceptionclassnotfoundexception)
{
System.err.println(classnotfoundexception.getMessage());
}
}
publicResultSetexecutequery(Stringsql){
try{
conn=DriverManager.getConnection(sConnStr,login_name,pwd);
stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=stmt.executeQuery(sql);
}catch(SQLExceptione){
System.out.println("cantexecuteQuery");
}
returnrs;
}
publicintexecuteupdate(Stringsql)throwsSQLException{
try
{
conn=DriverManager.getConnection(sConnStr,login_name,pwd);
stmt=conn.createStatement();
afint=stmt.executeUpdate(sql);
}catch(SQLExceptionsqlexception)
{
System.err.println(sqlexception.getMessage());
}
returnafint;
}
publicvoidclosecon()
{
try{
if(rs!=null)
{
rs.close();
}
if(stmt!=null)
{
stmt.close();
}
if(conn!=null)
{
conn.close();
}
}catch(Exceptione){}
}
}
//*利用Oracle的rownum举行分页文件名为fy4.jsp
//*---------------------------------------------------------------------------------------------------------------------------------
<%@pagecontentType="text/html;charset=gb2312"%>
<%@pageimport="java.sql.*"%>
<jsp:useBeanid="DBLink"scope="page"class="conn_oracle.conn_oracle"/>
<%
//变量声明
Stringmysql=newString();//SQL语句
intintRowCount=0;//总的纪录数
intintPageCount=0;//总的页数
intintPageSize=5;//每页显现的纪录数
intintPage;//待显现页码
StringstrPage=newString();//用来吸收当页码参数
intbegin_no=0;//入手下手的rownum纪录号
intend_no=0;//停止的rownum纪录号
//获得待显现页码
strPage=request.getParameter("page");
if(strPage==null){//标明在QueryString中没有page这一个参数,此时显现第一页数据
intPage=1;
}
else{//将字符串转换成整型
intPage=java.lang.Integer.parseInt(strPage);
if(intPage<1)intPage=1;
}
//失掉总的数据纪录行数
mysql="selectcount(*)total_rowsfromscott.performance";
ResultSetrs=DBLink.executequery(mysql);
if(rs.next())
{
intRowCount=rs.getInt("total_rows");//这里只能用getInt()
//out.print("Totalrowsis:"+intRowCount);
}
rs.close();
//盘算统共要分几页
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
//调剂待显现的页码
if(intPage>intPageCount)intPage=intPageCount;
//out.print("<br>Totalpagesis:"+intPageCount);
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>JSP数据库操纵例程-数据分页显现-JDBC2.0-Oracle</title>
</head>
<body>
<tableborder="1"cellspacing="0"cellpadding="0">
<tr>
<th>学号</th>
<th>姓名</th>
</tr>
<%
begin_no=(intPage-1)*intPageSize+1;
end_no=intPage*intPageSize;
//out.print("<br>begin:"+begin_no+"<br>end:"+end_no);
mysql="select*from(selectrownumrow_id,s_id,s_namefrom(selects_id,s_namefromperformanceorderbys_iddesc))whererow_idbetween"+begin_no+"and"+end_no;
rs=DBLink.executequery(mysql);
while(rs.next())
{
%>
<tr>
<td><%=rs.getString("s_id")%></td>
<td><%=rs.getString("s_name")%></td>
</tr>
<%
}
rs.close();
%>
</table>
第<%=intPage%>页共<%=intPageCount%>页
<ahref="fy4.jsp?page=1">首页</a>
<%if(intPage<intPageCount){%><ahref="fy4.jsp?page=<%=intPage+1%>">下一页</a><%}%>
<%if(intPage>1){%><ahref="fy4.jsp?page=<%=intPage-1%>">上一页</a><%}%>
<ahref="fy4.jsp?page=<%=intPageCount%>">尾页</a>
<%
//封闭数据库毗连
DBLink.closecon();
%>
//*一样平常通用的分页办法,不外效力较低文件名为:fy2.jsy
//*------------------------------------------------------------------------------------------------------------------------------------
<%@pagecontentType="text/html;charset=gb2312"%>
<jsp:useBeanid="DBLink"scope="page"class="conn_oracle.conn_oracle"/>
<%
//变量声明
java.sql.ResultSetrs;//了局集对象
java.lang.Stringsql;//SQL语句
intintPageSize;//一页显现的纪录数
intintRowCount;//纪录总数
intintPageCount;//总页数
intintPage;//待显现页码
java.lang.StringstrPage;
inti;
//设置一页显现的纪录数
intPageSize=20;
//获得待显现页码
strPage=request.getParameter("page");
if(strPage==null){//标明在QueryString中没有page这一个参数,此时显现第一页数据
intPage=1;
}
else{//将字符串转换成整型
intPage=java.lang.Integer.parseInt(strPage);
if(intPage<1)intPage=1;
}
sql="select*fromscott.performance";
//实行SQL语句并猎取了局集
rs=DBLink.executequery(sql);
//猎取纪录总数
rs.last();
intRowCount=rs.getRow();
//记算总页数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
//调剂待显现的页码
if(intPage>intPageCount)intPage=intPageCount;
%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<title>JSP数据库操纵例程-数据分页显现-JDBC2.0-Oracle</title>
</head>
<body>
<tableborder="1"cellspacing="0"cellpadding="0">
<tr>
<th>学号</th>
<th>姓名</th>
</tr>
<%
if(intPageCount>0){
//将纪录指针定位到待显现页的第一笔记录上
rs.absolute((intPage-1)*intPageSize+1);
//显现数据
i=0;
while(i<intPageSize&&!rs.isAfterLast()){
%>
<tr>
<td><%=rs.getString("s_id")%></td>
<td><%=rs.getString("s_name")%></td>
</tr>
<%
rs.next();
i++;
}
}
%>
</table>
第<%=intPage%>页共<%=intPageCount%>页
<ahref="fy2.jsp?page=1">首页</a>
<%if(intPage<intPageCount){%><ahref="fy2.jsp?page=<%=intPage+1%>">下一页</a><%}%>
<%if(intPage>1){%><ahref="fy2.jsp?page=<%=intPage-1%>">上一页</a><%}%>
<ahref="fy2.jsp?page=<%=intPageCount%>">尾页</a>
</body>
</html>
<%
//封闭了局集
rs.close();
//封闭数据库毗连
DBLink.closecon();
%>
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。 |
|