一段分页程序,帮忙看看!

vibrantyin 2003-02-08 10:11:10
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%
java.sql.Connection sqlCon;
java.sql.Statement sqlStmt;
java.sql.ResultSet sqlRst;
java.lang.String strCon;
java.lang.String user;
java.lang.String password;
java.lang.String strSQL;
int intPageSize;
int intRowCount;
int intPageCount;
int intPage;
java.lang.String strPage;
int i,j,k;
intPageSize=5;
strPage=request.getParameter("page");
if(strPage==null){
intPage=1;
}
else{
intPage=java.lang.Integer.parseInt(strPage);
if(intPage<1)
intPage=1;
}
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
strCon="jdbc:odbc:sqlserver";
user="sa";
password="";
sqlCon=java.sql.DriverManager.getConnection(strCon,user,password);
sqlStmt=sqlCon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
strSQL="select count(*) from tianyin";
sqlRst=sqlStmt.executeQuery(strSQL);
sqlRst.next();
intRowCount=sqlRst.getInt(1);
sqlRst.close();
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
strSQL="select name,email,body from tianyin";
sqlRst=sqlStmt.executeQuery(strSQL);
i=(intPage-1)*intPageSize;
for(j=0;j<i;j++)
sqlRst.next();
%>
<html>
<head>
<title>JSP数据库操作例程 - 数据分页显示 - JDBC-ODBC</title>
</head>
<body>
<p align=center>jdbc-odbc留言版</p>
<table border="1" cellspacing="0" cellpadding="0" width=600 align=center>
<%
i=0;
while((i<intPageSize)&&(sqlRst.next())){
%>
<tr>
<td>姓名:<%= sqlRst.getString(1)%></td>
<td>邮件:<%= sqlRst.getString(2)%></td>
</tr>
<tr>
<td colspan=2>
<%= sqlRst.getString(3)%>
</td>
</tr>
<%
i++;
}
%>
<tr>
<td colspan=2 align=center>
第<%= intPage%>页 共<%= intPageCount%>页
<%if(intPage<intPageCount){%>
<a href="mssql.jsp?page=<%= intPage+1%>">下一页</a><%}
%>
<%if(intPage>1){%>
<a href="mssql.jsp?page=<%= intPage-1%>">上一页</a><%
}
%>
</td>
</tr>
</table>
<%
sqlRst.close();
sqlStmt.close();
sqlCon.close();
%>
</body>
</html>

发布后报错:javax.servlet.ServletException: [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'tianyin' 无效。
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:460)
at mssql_16._jspService(mssql_16.java:213)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java)
at org.apache.tomcat.facade.ServletHandler.doService(ServletHandler.java:574)
at org.apache.tomcat.core.Handler.invoke(Handler.java:322)
at org.apache.tomcat.core.Handler.service(Handler.java:235)
at org.apache.tomcat.facade.ServletHandler.service(ServletHandler.java:485)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:917)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:833)
at org.apache.tomcat.modules.server.Http10Interceptor.processConnection(Http10Interceptor.java:176)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:494)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:516)
at java.lang.Thread.run(Thread.java:536)
.......

为什么说tianyin无效?我的sql server是用sa登陆,默认数据库为tianyin,tianyin数据库里建了表tianyin,包括三个字段name,email,body,我查不出问题,请哪位大哥帮帮忙
...全文
31 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
vibrantyin 2003-02-08
是odbc的问题,我没把默认数据库改过来
回复
zxhong 2003-02-08
sqlserver是你的数据源????

再重新配置一下你的数据源,选择你要操作的数据库名!选择系统dns
回复
Eddie 2003-02-08
不清楚。

不过你可以试一下。
sqlCon=java.sql.DriverManager.getConnection(strCon,user,password);
之后加一句
sqlCon.setCatalog("tianyin")

建议你把表名改好成T_tianyin。
回复
vibrantyin 2003-02-08
zxhong,应该是jdbc:odbc:sqlserver的,问题仍然没解决啊
回复
xycleo 2003-02-08
名字错了!!是tianyin,如果还不行!

检查odbc的配置
回复
zxhong 2003-02-08
strCon="jdbc:odbc:sqlserver";
-->
strCon="jdbc:odbc:tianyin";
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2003-02-08 10:11
社区公告
暂无公告